我正在尝试设置 Amazon Ses 通知以转到我的 SQS 队列。我正在按照说明如何创建 SQS 队列,然后是 SNS 主题,并订阅另一个。
但是,在管理控制台中,订阅会出现“待确认”。
我正在使用 .NET AWS SDK,如何确认订阅?甚至更好,为什么我必须确认?文件说_
如果队列的所有者创建了订阅,则订阅会自动确认,并且订阅应该几乎立即处于活动状态。
我以所有者身份将我的 AWS 凭证用于所有 API 调用,所以我不明白为什么需要确认,但无论如何我该怎么做?
private static string CreateBounceTopicAndQueue(IAmazonSQS sqsClient, IAmazonSimpleNotificationService snsClient)
{
// 1. Create an Amazon SQS queue named ses-bounces-queue.
CreateQueueResponse createQueueResponse = sqsClient.CreateQueue(new CreateQueueRequest()
{
QueueName = AppGlobal.SesBouncesQueue,
Attributes = new Dictionary<string, string>() {
{ "ReceiveMessageWaitTimeSeconds", "20" }
}
});
string queueUrl = createQueueResponse.QueueUrl;
// 2. Create an Amazon SNS topic named ses-bounces-topic
CreateTopicResponse createTopicResponse = snsClient.CreateTopic(new CreateTopicRequest
{
Name = AppGlobal.SesBouncesTopic
});
string topicArn = createTopicResponse.TopicArn;
// 3. Configure the Amazon SNS topic to publish to the SQS queue
var response = snsClient.Subscribe(new SubscribeRequest
{
TopicArn = topicArn,
Endpoint = queueUrl,
Protocol = "https"
});
return queueUrl;
}