本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon S3 和 Amazon X-Ray
Amazon X-Ray 与 Amazon S3 集成以跟踪更新应用程序 S3 存储桶的上游请求。如果某项服务使用 X-Ray SDK 跟踪请求,则 Amazon S3 可以将跟踪标头发送给 Amazon Lambda、Amazon SQS 和 Amazon SNS 等下游事件订阅用户。X-Ray 支持跟踪消息以实现 Amazon S3 事件通知。
您可以使用 X-Ray 跟踪地图查看 Amazon S3 与应用程序所用其他服务之间的连接。您还可以使用控制台查看指标,例如平均延迟和故障率。有关 X-Ray 控制台的更多信息,请参阅 使用 X-Ray 控制台。
Amazon S3 支持默认的 HTTP 标头检测。当您通过 Amazon SDK 调用 Amazon S3 时,X-Ray SDK 会自动将跟踪标头填充为 HTTP 标头。默认跟踪标头由 X-Amzn-Trace-Id 承载。如需了解有关跟踪标头的更多信息,请参阅概念页面上的 跟踪标头。Amazon S3 跟踪上下文传播支持以下订阅用户:Lambda、SQS 和 SNS。由于 SQS 和 SNS 并不发送分段数据本身,因此,当被 S3 触发时不会显示在您的跟踪或跟踪地图中,即使它们会将跟踪标头传播给下游服务。
配置 Amazon S3 事件通知
通过 Amazon S3 通知功能,您可以在存储桶中发生某些事件时接收通知。然后,这些通知可以传播到应用程序中的以下目的地:
-
Amazon Simple Notification Service (Amazon SNS)
-
Amazon Simple Queue Service(Amazon SQS)
-
Amazon Lambda
有关受支持事件的列表,请参阅《Amazon Pinpoint 开发人员指南》中受支持的事件类型。
Amazon SNS 和 Amazon SQS
必须先授予 Amazon S3 权限,然后才能将通知发布到 SNS 主题或 SQS 队列。如需授予这些权限,请将 Amazon Identity and Access Management (IAM) 策略附加到目标 SNS 主题或 SQS 队列。如需了解有关所需 IAM 策略的更多信息,请参阅授予权限将消息发布到 SNS 主题或 SQS 队列。
有关将 SNS 和 SQS 与 X-Ray 集成的相关信息,请参阅 Amazon SNS 和 Amazon X-Ray 和 Amazon SQS 和 Amazon X-Ray。
Amazon Lambda
使用 Amazon S3 控制台在 Amazon S3 存储桶上为 Lambda 函数配置事件通知时,控制台将在 Lambda 函数上设置必要的权限以便 Amazon S3 有权从存储桶调用函数。有关更多信息,请参阅《Amazon Simple Storage Service 控制台用户指南》中的如何为 S3 存储桶启用和配置事件通知?。
您还可以从 Amazon Lambda 向 Amazon S3 授予调用 Lambda 函数的权限。有关更多信息,请参阅 Amazon Lambda 开发人员指南中的教程:将 Amazon 与 Amazon S3 结合使用。
有关将 Lambda 与 X-Ray 集成的更多信息,请参阅检测 Amazon Lambda 中的 Java 代码。