【问题标题】:How to subscribe an SQS queue to an SNS topic with aws cdk?如何使用 aws cdk 将 SQS 队列订阅到 SNS 主题?
【发布时间】:2021-06-24 23:36:39
【问题描述】:

我先创建一个队列:

const notificationQueue: sqs.IQueue = new sqs.Queue(this, `${domain}-notificationsQueue`, {
  queueName: `${domain}-notificationsQueue.fifo`,
  fifo: true,
  contentBasedDeduplication: false
});

现在我需要将此队列订阅到一个 SNS 主题(类似这样,但我需要传入一个 IGrantable 对象 - 我不知道该怎么做)

queue.grantConsumeMessages(grantee: iam.IGrantable)

那么如何创建一个引用特定 SNS 主题的 IGrantable 对象?

【问题讨论】:

    标签: typescript amazon-iam amazon-sqs amazon-sns aws-cdk


    【解决方案1】:

    我们可以使用@aws-cdk/aws-sns-subscriptions

    我们可以导入这些:

    import * as subscriptions from "@aws-cdk/aws-sns-subscriptions";
    import * as sns from "@aws-cdk/aws-sns";
    import * as sqs from "@aws-cdk/aws-sqs";
    

    在 Sns 上使用 addSubscription 方法。

    const myTopic = new sns.Topic(this, "MyTopic");
    const myQueue = new sqs.Queue(this, "MyQueue");
    myTopic.addSubscription(new subscriptions.SqsSubscription(myQueue));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2021-02-20
      • 2021-11-25
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多