【问题标题】:Publish message from SNS to kinesis将消息从 SNS 发布到 kinesis
【发布时间】:2018-10-31 04:32:31
【问题描述】:

我需要将消息从 SNS 发布到 kinesis。我发现,直接订阅 SNS/SQS 是不可能的。我将需要编写 lambda 以从 SNS 获取并将其发布到 kinesis。 有没有其他方法可以将记录从 SNS 直接发布到 kinesis? 谢谢

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sqs amazon-sns


    【解决方案1】:

    Amazon SNS 是一种发布/订阅模式。

    发送到 SNS 的消息可以从以下位置订阅:

    • http/s:通过 HTTP POST 传递 JSON 编码的消息
    • email:通过 SMTP 传递消息
    • email-json:通过 SMTP 传递 JSON 编码的消息
    • sms: 短信发送
    • sqs:将 JSON 编码的消息传送到 Amazon SQS 队列
    • application:将 JSON 编码的消息传递到移动应用和设备的 EndpointArn。
    • lambda:将 JSON 编码的消息传送到 AWS Lambda 函数。
    • 其他选项:请参阅下面 Otavio 的回答!

    见:Subscribe - Amazon Simple Notification Service

    其中,唯一可用于发送到 Amazon Kinesis 的将是使用 AWS Lambda。您需要编写一个将消息发送到 Kinesis 流的 Lambda 函数。

    澄清一下:您的 Lambda 函数不会“从 SNS 获取”。相反,Lambda 函数将由 SNS 触发,消息作为输入传递。然后,您的 Lambda 函数需要将消息发送到 Kinesis。

    您唯一的其他选择是更改当前将消息发送到 SNS 的系统,并让它将消息发送到 Kinesis。

    【讨论】:

    【解决方案2】:

    好消息!自 2021 年 1 月起,Amazon SNS 增加了对通过 Kinesis Data Firehose 订阅进行消息存档和分析的支持。您现在可以将 SNS 消息加载到 S3、Redshift、Elasticsearch、MongoDB、Datadog、Splunk、New Relic 等。 SNS 文档有详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      相关资源
      最近更新 更多