6.5. 使用方法
6.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 凭证文档。
6.5.2. 由 SNS producer 评估的消息标头
| 标头 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | 
									Amazon SNS 消息主题。如果没有设置,则使用  | 
6.5.3. SNS producer 设置的消息标头
| 标头 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | Amazon SNS 消息 ID。 | 
6.5.4. 高级 AmazonSNS 配置
					如果需要对 SnsClient 实例配置进行更多控制,您可以创建自己的实例,并从 URI 引用它:
				
from("direct:start")
.to("aws2-sns://MyTopic?amazonSNSClient=#client");
from("direct:start")
.to("aws2-sns://MyTopic?amazonSNSClient=#client");
					#client 指的是 Registry 中的 AmazonSNS。
				
6.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");
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(...);
from("aws2-sqs://test-camel?amazonSQSClient=#amazonSQSClient&delay=50&maxMessagesPerPoll=5")
    .to(...);