了解 Amazon Chime SDK 事件通知
Amazon Chime SDK 支持发送事件通知到 Amazon EventBridge、Amazon Simple Queue Service(SQS)和 Amazon Simple Notification Service(SNS)。
注意
Amazon Chime SDK 会议命名空间默认使用 ChimeSDKMeetings
端点。传统的 Chime 命名空间使用单个终端节点。有关命名空间和端点的更多信息,请参阅本指南前文中的迁移到 Amazon Chime SDK 会议命名空间。
向 EventBridge 发送通知
您可以向 EventBridge 发送 Amazon Chime SDK 事件通知。有关使用 Amazon Chime SDK 与 EventBridge 的详细信息,请参阅《Amazon Chime SDK 管理员指南》中的使用 EventBridge 自动运行 Amazon Chime SDK。有关 EventBridge 的信息,请参阅《Amazon EventBridge 用户指南》https://docs.aws.amazon.com/eventbridge/latest/userguide/。
向 Amazon SQS 和 Amazon SNS 发送通知
您可以使用 Amazon Chime SDK API 参考中的 CreateMeeting API 将 Amazon Chime SDK 会议事件通知发送到每个会议的一个 Amazon SQS 队列和一个 Amazon SNS 主题。这可以帮助减少通知延迟。有关 Amazon SQS 权限的更多信息,请参阅 Amazon 简单队列服务开发人员指南。有关 Amazon SNS 的更多信息,请参阅 Amazon Simple Notification Service 开发人员指南。
发送到 Amazon SQS 和 Amazon SNS 的通知包含的信息与 Amazon Chime SDK 发送到 EventBridge 的通知相同。Amazon Chime SDK 支持向用于创建会议的 API 区域中的队列和主题发送会议事件通知。事件通知可能未按发生顺序传递。
授予 Amazon Chime SDK 访问 Amazon SQS 和 Amazon SNS 的权限
在 Amazon Chime SDK 通过 Amazon SQS 队列或 Amazon SNS 主题向您发送通知之前,您必须授予 Amazon Chime SDK 向队列或主题的 Amazon 资源名称 (ARN) 发布消息的权限。为此,将 AWS Identity and Access Management (IAM) 策略附加到队列或主题,以授予对 Amazon Chime SDK 的相应权限。有关更多信息,请参阅《Amazon Simple Queue Service 开发人员指南》中的 Amazon SQS 中的身份识别与访问管理以及《Amazon Simple Notification Service 开发人员指南》中的 Amazon SNS 访问控制示例案例。
注意
您的亚马逊 SQS 队列或亚马逊 SNS 主题必须使用与您的 Amazon Chime SDK API 终端节点相同的 AWS 区域。
例 允许 Amazon Chime SDK 将事件发布到 Amazon SQS 队列
以下示例 IAM policy 授予 Amazon Chime SDK 向指定的 Amazon SQS 队列发布会议活动通知的权限。请注意 aws:SourceArn
和 aws:SourceAccount
的条件语句。他们解决了潜在的混淆代理问题。
注意
创建以下策略时,您可以使用
aws:SourceArn
或aws:SourceAccount
。您不需要同时使用这两种方法。这些示例使用
ChimeSDKMeetings
命名空间及相应的终端节点。如果使用Chime
命名空间,则必须使用chime.amazonaws.com
终端节点。
{ "Version": "2008-10-17", "Id": "
example-ID
", "Statement": [ { "Sid": "example-statement-ID
", "Effect": "Allow", "Principal": { "Service": "meetings.chime.amazonaws.com" }, "Action": [ "sqs:SendMessage", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:"eu-central-1
:111122223333
:queueName", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition
:chime::111122223333
:*" }, "StringEquals": { "aws:SourceAccount": "111122223333
" } } } ] }
此示例显示了一项 Amazon SNS 策略,允许 Amazon Chime SDK 向您的 SNS 主题发送会议事件通知。
{ "Version": "2008-10-17", "Id": "
example-ID
", "Statement": [ { "Sid": "allow-chime-sdk-access-statement-id
", "Effect": "Allow", "Principal": { "Service": "meetings.chime.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:eu-central-1
:111122223333
:topicName", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition
:chime::111122223333
:*" }, "StringEquals": { "aws:SourceAccount": "111122223333
" } } } ] }
如果为服务器端加密 (SSE) 启用 Amazon SQS 队列,则必须执行额外步骤。将 IAM policy 附加到相关联 AWS KMS 密钥,授予 Amazon Chime SDK 执行加密添加到队列的数据所需 AWS KMS 操作的权限。
{ "Version": "2012-10-17", "Id": "
example-ID
", "Statement": [ { "Sid": "example-statement-ID
", "Effect": "Allow", "Principal": { "Service": "meetings.chime.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }
例 允许 Amazon Chime SDK 将事件发布到 Amazon SNS 主题
以下示例 IAM policy 授予 Amazon Chime SDK 向指定的 Amazon SNS 主题发布会议事件通知的权限。
{ "Version": "2008-10-17", "Id": "
example-ID
", "Statement": [ { "Sid": "allow-chime-sdk-access-statement-id", "Effect": "Allow", "Principal": { "Service": "meetings.chime.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:eu-central-1
:111122223333
:topicName", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:chime::111122223333
:*" }, "StringEquals": { "aws:SourceAccount": "111122223333
" } } } ] }