

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

# Amazon S3 和 Amazon X-Ray
Amazon S3

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 控制台](aws-xray-interface-console.md#xray-console)。

Amazon S3 支持*默认的 HTTP 标头*检测。当您通过 Amazon SDK 调用 Amazon S3 时，X-Ray SDK 会自动将跟踪标头填充为 HTTP 标头。默认跟踪标头由 `X-Amzn-Trace-Id` 承载。如需了解有关跟踪标头的更多信息，请参阅概念页面上的 [跟踪标头](xray-concepts.md#xray-concepts-tracingheader)。Amazon S3 跟踪上下文传播支持以下订阅用户：Lambda、SQS 和 SNS。由于 SQS 和 SNS 并不发送分段数据本身，因此，当被 S3 触发时不会显示在您的跟踪或跟踪地图中，即使它们会将跟踪标头传播给下游服务。

## 配置 Amazon S3 事件通知


通过 Amazon S3 通知功能，您可以在存储桶中发生某些事件时接收通知。然后，这些通知可以传播到应用程序中的以下目的地：
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Queue Service(Amazon SQS)
+ Amazon Lambda

有关受支持事件的列表，请参阅[《Amazon Pinpoint 开发人员指南》中受支持的事件类型](https://docs.amazonaws.cn/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types)。

### Amazon SNS 和 Amazon SQS


必须先授予 Amazon S3 权限，然后才能将通知发布到 SNS 主题或 SQS 队列。如需授予这些权限，请将 Amazon Identity and Access Management (IAM) 策略附加到目标 SNS 主题或 SQS 队列。如需了解有关所需 IAM 策略的更多信息，请参阅[授予权限将消息发布到 SNS 主题或 SQS 队列](https://docs.amazonaws.cn/AmazonS3/latest/dev/NotificationHowTo.html#grant-sns-sqs-permission-for-s3)。

有关将 SNS 和 SQS 与 X-Ray 集成的相关信息，请参阅 [Amazon SNS 和 Amazon X-Ray](xray-services-sns.md) 和 [Amazon SQS 和 Amazon X-Ray](xray-services-sqs.md)。

### Amazon Lambda


使用 Amazon S3 控制台在 Amazon S3 存储桶上为 Lambda 函数配置事件通知时，控制台将在 Lambda 函数上设置必要的权限以便 Amazon S3 有权从存储桶调用函数。有关更多信息，请参阅《Amazon Simple Storage Service 控制台用户指南》中的[如何为 S3 存储桶启用和配置事件通知？](https://docs.amazonaws.cn/AmazonS3/latest/user-guide/enable-event-notifications.html)。

您还可以从 Amazon Lambda 向 Amazon S3 授予调用 Lambda 函数的权限。有关更多信息，请参阅 Amazon Lambda 开发人员指南中的[教程：将 Amazon 与 Amazon S3 结合使用](https://docs.amazonaws.cn/lambda/latest/dg/with-s3-example.html)。

有关将 Lambda 与 X-Ray 集成的更多信息，请参阅[检测 Amazon Lambda 中的 Java 代码](https://docs.amazonaws.cn/lambda/latest/dg/java-tracing.html)。