傳送要求至服務
適用於:開發人員 | 進階
set-backend-service
原則會將目前要求的目標 URL 設定為 http://localhost:3500/v1.0/invoke/{app-id}[.{ns-name}]/method/{method-name}
,並將範本參數取代為原則陳述式中指定的值。
該原則假設 Dapr 會在與閘道相同的 Pod 中的 Sidecar 容器內執行。 收到要求時,Dapr 執行階段會執行服務探索和實際的叫用,包括 HTTP 和 gRPC 之間的可能通訊協定翻譯、重試、分散式追蹤和錯誤處理。 深入了解 Dapr 與 API 管理整合。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<set-backend-service backend-id="dapr" dapr-app-id="app-id" dapr-method="method-name" dapr-namespace="ns-name" />
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
backend-id | 務必設定為「dapr」。 | Yes | N/A |
dapr-app-id | 目標微服務的名稱。 用於在 Dapr 中形成 appId 參數。 允許使用原則運算式。 | Yes | N/A |
dapr-method | 在目標微服務上叫用的方法或 URL 名稱。 在 Dapr 中對應至 method-name 的參數。 允許使用原則運算式。 | Yes | N/A |
dapr-namespace | 目標微服務所在的命名空間名稱。 用於在 Dapr 中形成 appId 參數。 允許使用原則運算式。 | No | N/A |
使用方式
使用注意事項
必須在自我裝載閘道中啟用 Dapr 支援。
範例
下列範例,會示範在名為「echo」的微服務上,叫用名為「back」的方法。 原則set-backend-service
會將目的地 URL 設定為http://localhost:3500/v1.0/invoke/echo.echo-app/method/back
。 該forward-request
原則會將要求分派給 Dapr 執行階段,以將其傳遞給微服務。
為了明確起見,這裡會顯示該原則forward-request
。 原則通常透過base
關鍵字,來由全域範圍「繼承」。
<policies>
<inbound>
<base />
<set-backend-service backend-id="dapr" dapr-app-id="echo" dapr-method="back" dapr-namespace="echo-app" />
</inbound>
<backend>
<forward-request />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則