

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# リクエストごとのメタデータのタグ付け
<a name="cost-mgmt-request-metadata"></a>

リクエストメタデータを使用すると、[`bedrock-runtime`](endpoints.md)エンドポイントの個々の Amazon Bedrock 推論呼び出しにキーと値のタグをアタッチできます。タグは[モデル呼び出しログ](model-invocation-logging.md)のリクエストとともに記録されるため、使用状況をチーム、アプリケーション、環境、実験、または呼び出しごとに異なるその他のディメンションに属性付けできます。事前に作成または設定するリソースはありません。各呼び出しには異なるタグセットを含めることができます。

リクエストメタデータは、次の [`bedrock-runtime`](endpoints.md) APIs。
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)
+ [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)
+ [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)
+ [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html)

**注記**  
リクエストメタデータは[`bedrock-mantle`](endpoints.md)エンドポイントではサポートされていません。コスト配分タグとして AWS Cost Explorer[アプリケーション推論プロファイル](cost-mgmt-application-inference-profiles.md)「」、[プロジェクト](cost-mgmt-projects.md)「」、または「」を参照してください[WorkSpaces](cost-mgmt-workspaces.md)。 AWS 

## リクエストメタデータの仕組み
<a name="cost-mgmt-request-metadata-how-it-works"></a>

リクエストにメタデータをアタッチする方法は、呼び出す API によって異なります。
+ **InvokeModel と InvokeModelWithResponseStream** – リクエストに `X-Amzn-Bedrock-Request-Metadata` HTTP ヘッダーを設定します。値は、キーと値が選択した文字列である JSON オブジェクトです。
+ **Converse and ConverseStream** – リクエスト本文の `requestMetadata`フィールドを設定します。詳細については、「[requestMetadata](conversation-inference.md#converse-request-metadata)」を参照してください。

リクエストメタデータは、呼び出し AWS リージョン が行われた でログ記録が有効になっている場合にのみ、モデル呼び出しログに記録されます。セットアップ手順については、「」を参照してください[CloudWatch Logs と Amazon S3 を使用してモデル呼び出しをモニタリングする](model-invocation-logging.md)。

次の例は、呼び出しにチーム名、環境、テストケース識別子をタグ付けする InvokeModel リクエストを示しています。

```
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke HTTP/1.1
Content-Type: application/json
X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_sync"}

{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 50,
  "messages": [{"role": "user", "content": "Say hello in one word."}]
}
```

InvokeModelWithResponseStream でも同じヘッダーがサポートされています。

```
POST /model/anthropic.claude-3-haiku-20240307-v1:0/invoke-with-response-stream HTTP/1.1
Content-Type: application/json
X-Amzn-Bedrock-Request-Metadata: {"team": "orchestrator", "environment": "preview-test", "test_case": "invoke_model_stream"}

{
  "anthropic_version": "bedrock-2023-05-31",
  "max_tokens": 50,
  "messages": [{"role": "user", "content": "Say hello in one word."}]
}
```

**重要**  
 AWS 署名バージョン 4 (SigV4) でリクエストに署名する場合、`SignedHeaders`リスト`X-Amzn-Bedrock-Request-Metadata`に を含めます。署名付きリストから ヘッダーを省略するリクエストは、リクエストメタデータをパラメータとして公開する `InvalidSignatureException`. AWS SDKs によって自動的に拒否されます。

## 制限
<a name="cost-mgmt-request-metadata-limits"></a>

リクエストメタデータには以下の制限があり、`X-Amzn-Bedrock-Request-Metadata`ヘッダー (InvokeModel、InvokeModelWithResponseStream) と`requestMetadata`本文フィールド (Converse、ConverseStream) の両方に適用されます。
+ リクエストあたり最大 16 個のメタデータエントリ。
+ キー: 最大 256 文字。
+ 値: 最大 256 文字。
+ 使用できる文字: 英数字と句読点文字の制限されたセット。

これらの制限を超えるリクエストは、検証エラーで拒否されます。

## リクエストメタデータが表示される場所
<a name="cost-mgmt-request-metadata-in-logs"></a>

リクエストメタデータは、最上位`requestMetadata`フィールドの Amazon Bedrock モデル呼び出しログに表示されます。次の省略ログエントリは、InvokeModel 呼び出しの フィールドを示しています。

```
{
    "schemaType": "ModelInvocationLog",
    "schemaVersion": "1.0",
    "timestamp": "2024-01-15T12:00:00Z",
    "accountId": "123456789012",
    "region": "us-east-1",
    "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx",
    "operation": "InvokeModel",
    "modelId": "anthropic.claude-3-haiku-20240307-v1:0",
    "requestMetadata": {
        "team": "orchestrator",
        "environment": "preview-test",
        "test_case": "invoke_model_sync"
    },
    "input":  { "...": "..." },
    "output": { "...": "..." }
}
```

Amazon CloudWatch Logs Insights、Amazon Athena などの Amazon S3 クエリツール、または呼び出しログを読み取るその他のシステムのメタデータフィールドでログをフィルタリングおよび集計できます。

## 考慮事項
<a name="cost-mgmt-request-metadata-considerations"></a>
+ リクエストメタデータ値は、呼び出しの でモデル呼び出しログ記録が有効になっている場合にのみ記録されます AWS リージョン。ログ記録が設定されていない場合、リクエストは成功しますが、メタデータは保持されません。
+ リクエストメタデータは AWS コスト配分タグとして配信されず、 AWS Cost Explorer または CUR に表示されません。メタデータディメンション別にコストを分析するには、呼び出しログを のコストと使用状況レポートに結合するか`requestId`、ログレコードから直接トークン数を集計し、[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing/)のトークンごとのレートを乗算します。Cost Explorer と CUR にネイティブに流れる属性の場合は、[アプリケーション推論プロファイル](cost-mgmt-application-inference-profiles.md)、[プロジェクト](cost-mgmt-projects.md)、または を使用します[WorkSpaces](cost-mgmt-workspaces.md)。
+ 集計しやすい分析`experiment`には、`team`、、`environment``feature`、 などの安定した低カーディナリティキーを選択します。個々の呼び出しをトレースする必要がある場合にのみ、セッション識別子やトレース識別子などの高濃度値を使用します。
+ 個人を特定できる情報 (PII)、認証情報、またはその他の機密データをリクエストメタデータに配置しないでください。値は、モデル呼び出しログと、それらのログを読み取るすべてのシステムに保存されます。
+ リクエストメタデータは、他の Amazon Bedrock 使用状況追跡方法と連動します。ID ごとの属性[IAM プリンシパル属性](cost-mgmt-iam-principal-tracking.md)に を使用し、同じワークロードのリソースレベルのコスト配分タグ[アプリケーション推論プロファイル](cost-mgmt-application-inference-profiles.md)に を使用できます。