本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控和記錄
AWS CloudTrail 可以擷取對 AWS 上 Claude 平台的所有請求。根據預設,工作區和保存庫操作會記錄為管理事件。所有其他操作 (推論、批次、檔案、技能、模型、使用者設定檔和保存庫以外的 Claude 受管代理程式) 都是資料事件。記錄它們需要明確的組態,並產生額外的 CloudTrail 費用。如需完整的事件類型分類和組態詳細資訊,請參閱 AWS CloudTrail 文件的 IAM 動作。
設定 CloudTrail 資料事件記錄時,請選取資源類型 AWS::AWSExternalAnthropic::Workspace。這是 AWS 工作區上 Claude 平台的 CloudTrail 資源類型,需要此類型才能擷取資料平面事件 (推論、批次、檔案和其他每個工作區的操作)。如果您想要記錄一部分工作區的活動,而非整個帳戶,請將資料事件選擇器範圍限定為特定工作區 ARNs。
請求 IDs
每個回應在回應標頭中包含兩個請求 IDs:
-
AWS 請求 ID (
x-amzn-requestid):在 CloudTrail 中編製索引的主要 ID。透過 AWS 工具調查請求或聯絡 AWS 支援時,請使用此選項。 -
人類請求 ID (
request-id):次要 ID。聯絡 Anthropic Support 時使用此選項。
Python
from anthropic import AnthropicAWS client = AnthropicAWS(aws_region="us-west-2") response = client.messages.with_raw_response.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}], ) print(response.headers.get("x-amzn-requestid")) # AWS request ID print(response.headers.get("request-id")) # Anthropic request ID message = response.parse() print(message.content)
TypeScript
import AnthropicAws from "@anthropic-ai/aws-sdk"; const client = new AnthropicAws({ awsRegion: "us-west-2" }); const { data: message, response } = await client.messages .create({ model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }] }) .withResponse(); console.log(response.headers.get("x-amzn-requestid")); // AWS request ID console.log(response.headers.get("request-id")); // Anthropic request ID console.log(message.content);
C#
using Anthropic; using Anthropic.Aws; var client = new AnthropicAwsClient(new() { AwsRegion = "us-west-2" }); var response = await client.WithRawResponse.Messages.Create(new() { Model = "claude-sonnet-4-6", MaxTokens = 1024, Messages = [new() { Role = "user", Content = "Hello!" }] }); Console.WriteLine(response.Headers.GetValues("x-amzn-requestid").First()); // AWS request ID Console.WriteLine(response.Headers.GetValues("request-id").First()); // Anthropic request ID Console.WriteLine(response.Value.Content);
Go
client, err := anthropicaws.NewClient(context.Background(), anthropicaws.ClientConfig{}) if err != nil { panic(err) } var response *http.Response message, err := client.Messages.New( context.Background(), anthropic.MessageNewParams{ Model: anthropic.ModelClaudeSonnet4_6, MaxTokens: 1024, Messages: []anthropic.MessageParam{ anthropic.NewUserMessage(anthropic.NewTextBlock("Hello!")), }, }, option.WithResponseInto(&response), ) if err != nil { panic(err) } fmt.Println(response.Header.Get("x-amzn-requestid")) // AWS request ID fmt.Println(response.Header.Get("request-id")) // Anthropic request ID fmt.Println(message.Content[0].Text)
Java
import com.anthropic.aws.backends.AwsBackend; import com.anthropic.client.AnthropicClient; import com.anthropic.client.okhttp.AnthropicOkHttpClient; import com.anthropic.core.http.HttpResponseFor; import com.anthropic.models.messages.Message; import com.anthropic.models.messages.MessageCreateParams; import com.anthropic.models.messages.Model; AnthropicClient client = AnthropicOkHttpClient.builder() .backend(AwsBackend.fromEnv()) .build(); HttpResponseFor<Message> response = client.messages().withRawResponse().create( MessageCreateParams.builder() .model(Model.CLAUDE_SONNET_4_6) .maxTokens(1024) .addUserMessage("Hello!") .build() ); IO.println(response.headers().values("x-amzn-requestid")); // AWS request ID IO.println(response.requestId()); // Anthropic request ID IO.println(response.parse().content());
PHP
use Anthropic\Aws\Client; $client = new Client(); $response = $client->messages->raw->create( model: 'claude-sonnet-4-6', maxTokens: 1024, messages: [['role' => 'user', 'content' => 'Hello!']], ); echo $response->getHeaderLine('x-amzn-requestid') . "\n"; // AWS request ID echo $response->getHeaderLine('request-id') . "\n"; // Anthropic request ID echo $response->parse();
Ruby
Ruby SDK 目前不會公開原始回應存取器,因此無法從 Ruby 中的回應標頭讀取請求 IDs。如果您需要 request-ID 記錄,請使用上述任何其他語言,或在 HTTP 代理層擷取 IDs。
Anthropic 建議至少連續 30 天記錄您的活動,以了解使用模式並調查任何潛在問題。
注意
AWS CloudTrail 已在您的 AWS 帳戶中設定。啟用記錄功能並不會提供 AWS 或 Anthropic 存取您的內容,超出帳單和服務操作所需的範圍。
用量指標和儀表板
AWS 上的 Claude 平台不會將每個工作區的使用量指標發佈至 Amazon CloudWatch。符記計數、請求量和每個模型的用量,皆可透過 Anthropic 的用量表面取得:
-
Claude Console 用量檢視 - 當主體與 Claude Console 聯合時
aws-external-anthropic:AssumeConsole(請參閱 IAM 政策),用量儀表板會顯示請求量、字符計數和可存取工作區的每個模型明細。整個帳戶的用量檢視需要管理員主控台功能。 -
Anthropic Usage and Cost API — 如需以程式設計方式存取用量和成本資料,包括每個工作空間和每個模型彙總,請參閱 Anthropic 文件中的 Usage and Cost API
。
對於操作監控 (錯誤率、延遲、速率限制標頭),請使用每個請求傳回的回應標頭 (請參閱速率限制和配額),以及 CloudTrail 中擷取的 AWS 請求 IDs。
成本分配和監控
AWS 上的 Claude 平台費用會顯示在 AWS 服務的 Claude 平台下,具有每個模型的使用維度。使用 AWS 成本和用量報告 (CUR) 結合工作區標籤,進行精細的成本分配:
-
使用您關心的配置維度標記您的工作區 (團隊、應用程式、環境、成本中心)。如需標記詳細資訊,請參閱工作區。
-
在 AWS Billing 主控台中,將每個標籤金鑰啟用為成本分配標籤。啟用後,啟用日期當天或之後產生的用量會在 CUR 中依標籤分割。
-
在 CUR 或 AWS Cost Explorer 中,依資料
resourceTags/user:<tag-key>欄分組以依工作區標籤細分支出。
工作區標籤會流經 AWS 用量上所有 Claude 平台的 CUR 明細項目。相同的標籤索引鍵可同時驅動 IAM 型存取控制和成本分配。如需設定步驟和啟用延遲,請參閱 AWS Billing 文件中的成本分配標籤。