7.5. 使用方法
7.5.1. 静态凭证和默认凭证提供程序
您可以通过指定 useDefaultCredentialsProvider 选项并将其设置为 true 来避免使用显式静态凭证。
- Java 系统属性 - aws.accessKeyId 和 aws.secretKey
- 环境变量 - AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。
- AWS STS 的 Web Identity Token。
- 共享凭证和配置文件。
- Amazon ECS 容器凭证 - 如果设置了环境变量 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI,则从 Amazon ECS 加载。
- Amazon EC2 实例配置集凭据。
有关此信息的更多信息,您可以查看 AWS 凭证文档。
7.5.2. 由 SNS producer 评估的消息标头
标头 | 类型 | 描述 |
---|---|---|
|
|
Amazon SNS 消息主题。如果没有设置,则使用 |
7.5.3. SNS producer 设置的消息标头
标头 | 类型 | 描述 |
---|---|---|
|
| Amazon SNS 消息 ID。 |
7.5.4. 高级 AmazonSNS 配置
如果需要对 SnsClient
实例配置进行更多控制,您可以创建自己的实例,并从 URI 引用它:
from("direct:start") .to("aws2-sns://MyTopic?amazonSNSClient=#client");
#client
指的是 Registry 中的 AmazonSNS
。
7.5.5. 在 AWS SNS 主题和 AWS SQS Queue 之间创建订阅
您可以创建一个 SQS Queue 订阅到 SNS 主题:
from("direct:start") .to("aws2-sns://test-camel-sns1?amazonSNSClient=#amazonSNSClient&subscribeSNStoSQS=true&queueUrl=https://sqs.eu-central-1.amazonaws.com/780410022472/test-camel");
#amazonSNSClient
是指 Registry 中的 SnsClient
。通过将 subscribeSNStoSQS
指定为 true,并且指定现有 SQS 队列的 queueUrl
,您可以将 SQS Queue 订阅到您的 SNS 主题。
此时,您可以通过 SQS Queue 使用来自 SNS 主题的消息
from("aws2-sqs://test-camel?amazonSQSClient=#amazonSQSClient&delay=50&maxMessagesPerPoll=5") .to(...);