Amazon S3 和 Amazon X-Ray - Amazon X-Ray
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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-RayAmazon 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 代码