組態套件傳播和可觀測性
當閘道透過規則解析組態套件時,它會透過 OpenTelemetry (OTel) 套件標頭將套件傳播到下游服務。這可讓您跨閘道和代理程式架構end-to-end組態管理。
組態套件如何傳播
閘道會使用下列金鑰,在 OTel 套件中設定已解析的套件 ARN 和版本:
| 套件金鑰 | 說明 |
|---|---|
|
|
已解析組態套件的 ARN。 |
|
|
已解析組態套件的版本。 |
傳播流程的運作方式如下:
-
閘道會評估規則並解析組態套件。
-
閘道會在傳出請求的 OTel 套件標頭中設定套件 ARN 和版本。
-
代理程式執行期會接收具有 套件標頭的請求。執行時間由您控制。您的代理程式程式碼可以視需要從 OTel 套件讀取組態套件 ARN 和版本。
-
如果代理程式叫用具有 MCP 目標的閘道,閘道會從 OTel 套件讀取套件,並在
tools/list回應上套用工具描述覆寫。如需詳細資訊,請參閱MCP 目標的行為。
MCP 目標的行為
閘道只會將組態套件覆寫套用至tools/list路徑的 MCP 目標。invoke_tool 和 search_tool 路徑不支援組態套件覆寫。
例如,如果組態套件覆寫目標的工具描述,更新後的描述會出現在tools/list回應中,但不會出現在search_tool回應中。
若要套用這些覆寫,閘道會呼叫 GetConfigurationBundleVersion來讀取套件內容。將此許可新增至閘道的執行角色:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock-agentcore:GetConfigurationBundleVersion", "Resource": "arn:aws:bedrock-agentcore:us-west-2:123456789012:configuration-bundle/*" } ] }
注意
只有 MCP tools/list操作的閘道執行角色需要此許可。代理程式執行時間會將套件傳遞至 ,而不加以存取,而且不需要此許可。
Constraints
-
組態套件必須與閘道位於相同的帳戶中。不支援跨帳戶套件存取。
-
具有 HTTP 目標的閘道不會從 OTel 套件讀取組態套件。他們只會透過自己的規則來解析套件。如果您以 OTel 套件傳遞套件到具有 HTTP 目標的閘道,閘道會忽略它。
-
具有 MCP 的閘道目標為從 OTel 套件讀取組態套件,並僅在
tools/list路徑上套用覆寫。
規則解析的可觀測性
當閘道解析請求的規則時,它會在閘道伺服器範圍上發出跨度屬性。您可以使用這些屬性來觀察已套用哪些組態套件版本和路由決策。
組態套件覆寫屬性
| 跨度屬性 | 說明 |
|---|---|
|
|
已解析組態套件的 ARN。 |
|
|
已解析組態套件的版本。 |
目標路由屬性
| 跨度屬性 | 說明 |
|---|---|
|
|
已解析目標的名稱。 |
使用這些屬性來驗證規則是否如預期解析,並對路由行為進行疑難排解。