8.6. 使用方法


8.6.1. 静态凭证和默认凭证提供程序

您可以通过指定 useDefaultCredentialsProvider 选项并将其设置为 true 来避免使用显式静态凭证。

  • Java system properties - aws.accessKeyId and aws.secretKey
  • 环境变量 - AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  • AWS STS 的 Web Identity Token。
  • 共享凭证和配置文件。
  • Amazon ECS 容器凭证 - 如果设置了环境变量 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,则从 Amazon ECS 加载。
  • Amazon EC2 实例配置集凭据。

有关此信息的更多信息,您可以查看 AWS 凭证文档

8.6.2. SQS producer 设置的消息标头

标头类型描述

CamelAwsSqsMD5OfBody

字符串

Amazon SQS 消息的 MD5 checksum。

CamelAwsSqsMessageId

字符串

Amazon SQS 消息 ID。

CamelAwsSqsDelaySeconds

整数

Amazon SQS 消息可以被其他人查看的延迟秒数。

8.6.3. SQS 使用者设置的消息标头

标头类型描述

CamelAwsSqsMD5OfBody

字符串

Amazon SQS 消息的 MD5 checksum。

CamelAwsSqsMessageId

字符串

Amazon SQS 消息 ID。

CamelAwsSqsReceiptHandle

字符串

Amazon SQS 消息接收处理。

CamelAwsSqsMessageAttributes

Map<String, String>

Amazon SQS 消息属性。

8.6.4. 高级 AmazonSQS 配置

如果您的 Camel 应用程序在防火墙后面运行,或者需要对 SqsClient 实例配置拥有更多控制,您可以创建自己的实例:

from("aws2-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");

8.6.5. 创建或更新 SQS 队列

在 SQS 组件中,当端点启动时,将执行检查以获取有关队列是否存在的信息。您可以使用 SQSConfiguration 选项通过 QueueAttributeName 映射自定义创建。

from("aws2-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");

在本例中,如果 AWS 上尚未创建 MyQueue 队列(将 autoCreateQueue 选项设置为 true),它将使用 SQS 配置中的默认参数创建。如果它已在 AWS 上启动,则 SQS 配置选项将用于覆盖现有的 AWS 配置。

8.6.6. DelayQueue VS Delay 用于 Single 信息

当选项 delayQueue 设为 true 时,SQS Queue 将是一个 DelayQueue,带有 DelaySeconds 选项作为延迟。有关 DelayQueue 的更多信息,请参阅 AWS SQS 文档。要考虑的重要信息如下:

  • 对于标准队列,每个队列延迟设置不会重新更改设置不会影响队列中已经的信息的延迟。
  • 对于 FIFO 队列,每个队列延迟设置是重新引入的,该设置会影响队列中已存在于的消息的延迟。

如官方文档中所述。如果要在单个消息上指定延迟,可以忽略 delayQueue 选项,同时如果您需要向所有消息添加固定延迟,则可以将这个选项设置为 true。

8.6.7. 服务器同级加密

为队列有一组 Server Side Encryption 属性。相关的选项包括 serverSideEncryptionEnabled,keyMasterKeyIdkmsDataKeyReusePeriod。SSE 默认禁用。您需要明确将选项设置为 true,并将相关参数设置为 queue 属性。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.