本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用追蹤AWS X-Ray
您可以使用AWS X-Ray來追蹤在執行的請求AWSAppSync。您可以將 X-RayAWS在所有 AppSyncAWS提供 X-Ray 的區域。X-Ray 為您提供整個 GraphQL 請求的詳細概述。這可讓您分析 API 及其基礎解析程式和資料來源中的延遲。您可以使用 X-Ray 服務對應來檢視請求的延遲,包括任何AWS與 X-Ray 集成的服務。您也可以設定取樣規則,以根據您指定的條件告知 X-Ray 要記錄哪些請求,以及使用何種取樣率。
如需 X-Ray 取樣的詳細資訊,請參見在AWS X-Ray主控台。
設定與組態
您可以 GraphQL 過AWSAppSync 主控台。
-
前往登入AWSAppSync 主控台。
-
在導覽窗格中選擇 Settings (設定)。
-
在 X-Ray 下,開啟 Enable X-Ray (啟用 X-Ray)。
-
選擇 Save (儲存)。現在已為您的 API 啟用 X-Ray 追蹤。
如果您使用AWS CLI或者AWS CloudFormation,您還 X-Ray 以在創建新AWS應用同步 API,或更新現有AWS應用同步 API,通過設置xrayEnabled
屬性設置為true
。
X-Ray 為AWSAppSync API,AWS Identity and Access Management 服務連結角色會利用適當的許可,在您的帳户中自動建立。這允許AWSAppSync 以安全的方式將追蹤傳送給 X-Ray。
使用 X-Ray 跟蹤您的 API
抽樣
透過取樣規則,您可以控制AWSAppSync,並且可迅速修改取樣行為,而無需修改或重新部署程式碼。例如,此規則使用 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 提出請求的詳細延遲資訊。以下範例顯示此特定請求的追蹤檢視以及服務對應。請求是針對名稱為postAPI
,其資料包含 Amazon DynamoDB 稱為PostTable-Example
。
下列追蹤影像對應下列 GraphQL 查詢:
query getPost { getPost(id: "1") { id title } }
針對getPost
查詢會使用底層 DynamoDB 資料源。以下追蹤檢視顯示對 DynamoDB 的調用,以及查詢執行各部分的延遲:
![](images/xray-getpost-trace-view.png)
-
在上述影像中,
/getPost
表示要解析之元素的完整路徑。在這種情況下,因為getPost
是根Query
類型的欄位,它直接出現在路徑的根之後。 -
requestMappingTemplateEvaluation
表示AWSAppSync 為查詢中此元素評估請求映射範本。 -
Query.getPost
表示類型和欄位 (格式為Type.field
)。它可以包含多個子區段,取決於 API 的結構和要追蹤的請求而定。-
DynamoDB
表示附加至此解析程式的資料來源。它包含對 DynamoDB 進行網路呼叫以解析字段的延遲。 -
responseMappingTemplateEvaluation
表示AWSAppSync 為查詢中此元素評估回應映射範本。
-
當您在 X-Ray 中檢視追蹤時,您可以在AWSAppSync 區段,方法是選擇子段並瀏覽詳細視圖。
對於某些深度嵌套或複雜的查詢,請注意AWSAppSync 可以大於段文檔允許的最大大小,如AWS X-Ray區段文件。X-Ray 不顯示超過限制的段。