将 Firehose 直播订阅亚马逊 SNS 主题的先决条件 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Firehose 直播订阅亚马逊 SNS 主题的先决条件

要将 Amazon Data Firehose 传送流订阅到 SNS 主题,您Amazon Web Services 账户必须具备以下条件:

  • 标准 SNS 主题。有关更多信息,请参阅创建 Amazon SNS 主题

  • Firehose 的直播流。有关更多信息,请参阅《亚马逊数据 Firehose 开发者指南》中的创建亚马逊数据 Firehose 传输流并向您的应用程序授予对您的 Firehos e 资源的访问权限

  • 信任 Amazon SNS 服务委托人并具有写入到传输流的权限的 Amazon Identity and Access Management (IAM) 角色。创建订阅时,您将输入此角色的 Amazon Resource Name (ARN) 作为 SubscriptionRoleARN。亚马逊 SNS 担任此角色,这允许亚马逊 SNS 将记录放入 Firehose 传送流。

    下面的示例策略显示了建议的权限:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams", "firehose:ListTagsForDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": [ "arn:aws:firehose:us-east-1:111111111111:deliverystream/firehose-sns-delivery-stream" ], "Effect": "Allow" } ] }

    要提供使用 Firehose 的完全权限,您还可以使用Amazon托管策略。AmazonKinesisFirehoseFullAccess或者,要为使用 Firehose 提供更严格的权限,您可以创建自己的策略。至少,策略必须提供在特定传输流上运行 PutRecord 操作的权限。

    在所有情况下,您都还必须编辑信任关系以包括 Amazon SNS 服务委托人。例如:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    有关创建角色的更多信息,请参阅 IAM 用户指南中的创建角色以委派权限给 Amazon 服务

完成这些要求后,您可以将传输流订阅到 SNS 主题