本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用跟踪Amazon X-Ray
您可以使用Amazon X-Ray在中执行请求时跟踪这些请求AmazonAppSync。您可以将 X-Ray 与Amazon总而言之 AppSyncAmazonX-Ray 可用的区域。X-Ray 为您详细介绍了整个 GraphQL 请求。这使您能够分析 API 及其基础解析器和数据源中的延迟。您可以使用 X-Ray 服务地图查看请求的延迟,包括任何Amazon与 X-Ray 集成的服务。您还可以配置采样规则,以告知 X-Ray 根据您指定的标准以哪种采样率记录哪些请求。
有关 X-Ray 采样的更多信息,请参阅在中配置采样规则Amazon X-Ray控制台.
设置和配置
您可以通过为 GraphQL API 启用 X-Ray 跟踪。AmazonAppSync 控制台。
-
登录到AmazonAppSync 控制台。
-
从导航面板中选择 Settings (设置)。
-
在 X-Ray 下,开启 Enable X-Ray (启用 X-Ray)。
-
选择保存。现在已为您的 API 启用 X-Ray 跟踪。
如果您使用的是Amazon CLI要么Amazon CloudFormation,还可以在创建新的时候启用 X-Ray 追踪AmazonAppSync API,或者更新现有的AmazonAppSync API,通过设置xrayEnabled
财产到true
.
为启用 X-Ray 跟踪时AmazonAppSync API,Amazon Identity and Access Management 服务相关角色系统会在您的账户中自动创建具有相应权限的。这允许AmazonAppSync 以安全的方式将跟踪发送到 X-Ray。
用 X-Ray 跟踪你的 API
采样
通过使用采样规则,您可以控制您在中记录的数据量。AmazonAppSync,并即刻修改采样行为而不必修改或重新部署您的代码。例如,此规则对 API ID 为 3n572shhcpfokwhdnq1ogu59v6
的 GraphQL API 的请求进行采样。
-
规则名称 —
test-sample
-
优先级 —
10
-
容器大小 —
10
-
固定速率 —
10
-
服务名称 —
*
-
服务类型 —
AWS::AppSync::GraphQLAPI
-
HTTP 方法 —
*
-
资源 ARN —
arn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6
-
主机 —
*
了解跟踪
为 GraphQL API 启用 X-Ray 跟踪时,您可以使用 X-Ray 跟踪详细信息页面,以检查有关向 API 发出的请求的详细延迟信息。以下示例显示了此特定请求的跟踪视图以及服务地图。请求是针对名为的 API 发出的。postAPI
具有 Post 类型,其数据包含在名为的 Amazon DynamoDB 表中。PostTable-Example
.
下面的跟踪映像对应于以下 GraphQL 查询:
query getPost { getPost(id: "1") { id title } }
的解决程序getPost
查询使用基础 DynamoDB 数据源。以下跟踪视图显示对 DynamoDB 的调用以及查询执行的各个部分的延迟:

-
在上图中,
/getPost
表示指向正在解析的元素的完整路径。在这种情况下,由于getPost
是根Query
类型上的字段,因此它直接显示在路径的根目录之后。 -
requestMappingTemplateEvaluation
代表花费的时间AmazonAppSync 在查询中评估此元素的请求映射模板。 -
Query.getPost
表示类型和字段(采用Type.field
格式)。它可以包含多个子段,具体取决于 API 的结构和被跟踪的请求。-
DynamoDB
表示附加到此解析器的数据源。它包含对 DynamoDB 进行网络调用以解析字段的延迟。 -
responseMappingTemplateEvaluation
代表花费的时间AmazonAppSync 在查询中评估此元素的响应映射模板。
-
在 X-Ray 中查看跟踪时,您可以在Amazon通过选择子区段并浏览详细视图,AppSync 细分。
对于某些深度嵌套或复杂的查询,请注意,该区段通过以下方式传送到AmazonAppSync 可以大于区段文档允许的最大大小,如中所定义Amazon X-Ray分段文档. X-Ray 不会显示超出限制的区段。