首页 > 解决方案 > 在 Spring Cloud AWS Messaging 中将加密 SQS 与 KMS 集成

问题描述

我想添加我的 KMS 主密钥,因为我的 sqs 队列是加密的。我目前正在使用 Spring Cloud aws 消息传递来构建 SQS 客户端。

  public AmazonSQSAsync amazonSQSClient() {
    if (Objects.isNull(sqsClient)) {
        sqsClient = AmazonSQSAsyncClientBuilder.defaultClient();
    }
    return sqsClient;
}

public QueueMessageHandler queueMessageHandler(AmazonSQSAsync amazonSQSAsync) {
    QueueMessageHandlerFactory queueMessageHandlerFactory = new QueueMessageHandlerFactory();
    queueMessageHandlerFactory.setAmazonSqs(amazonSQSAsync);
    QueueMessageHandler queueMessageHandler = queueMessageHandlerFactory.createQueueMessageHandler();
    return queueMessageHandler;
}

@Bean
public QueueMessagingTemplate queueMessagingTemplate() {
    return new QueueMessagingTemplate(amazonSQSClient());
}


@Bean
public SimpleMessageListenerContainer simpleMessageListenerContainer(AmazonSQSAsync amazonSQSAsync, QueueMessageHandler queueMessageHandler) {
    SimpleMessageListenerContainer simpleMessageListenerContainer = new SimpleMessageListenerContainer();
    simpleMessageListenerContainer.setAmazonSqs(amazonSQSAsync);
    simpleMessageListenerContainer.setMessageHandler(queueMessageHandler);
    simpleMessageListenerContainer.setMaxNumberOfMessages(10);
    simpleMessageListenerContainer.setTaskExecutor(threadPoolTaskExecutor());
    return simpleMessageListenerContainer;
}

请让我知道如何为加密的 SQS 添加 KMS 主密钥。

标签: springamazon-sqsspring-cloud-awsamazon-kms

解决方案


推荐阅读