View a markdown version of this page

リクエストの実行 - AWS での Claude プラットフォーム

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

リクエストの実行

AWS の Claude Platform は、Claude ファーストパーティープラットフォームと同じ API サーフェスである Anthropic Messages API (/v1/messages) を使用します。違いは、ベース URL、認証方法、およびリクエストがターゲットとするワークスペースを識別する必須anthropic-workspace-idヘッダーです。

シェル

curl "https://aws-external-anthropic.us-west-2.api.aws/v1/messages" \ --aws-sigv4 "aws:amz:us-west-2:aws-external-anthropic" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ -H "x-amz-security-token: $AWS_SESSION_TOKEN" \ -H "content-type: application/json" \ -H "anthropic-version: 2023-06-01" \ -H "anthropic-workspace-id: $ANTHROPIC_AWS_WORKSPACE_ID" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Hello!"} ] }'

Python

from anthropic import AnthropicAWS client = AnthropicAWS() message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}], ) print(message)

TypeScript

import AnthropicAws from "@anthropic-ai/aws-sdk"; const client = new AnthropicAws(); const message = await client.messages.create({ model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }] }); console.log(message);

C#

using Anthropic; using Anthropic.Aws; var client = new AnthropicAwsClient(); var message = await client.Messages.Create(new() { Model = "claude-sonnet-4-6", MaxTokens = 1024, Messages = [new() { Role = "user", Content = "Hello!" }] }); Console.WriteLine(message);

Go

client, err := anthropicaws.NewClient(context.Background(), anthropicaws.ClientConfig{}) if err != nil { panic(err) } message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{ Model: anthropic.ModelClaudeSonnet4_6, MaxTokens: 1024, Messages: []anthropic.MessageParam{ anthropic.NewUserMessage(anthropic.NewTextBlock("Hello!")), }, }) if err != nil { panic(err) } 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.models.messages.Message; import com.anthropic.models.messages.MessageCreateParams; import com.anthropic.models.messages.Model; AnthropicClient client = AnthropicOkHttpClient.builder() .backend(AwsBackend.fromEnv()) .build(); Message message = client.messages().create( MessageCreateParams.builder() .model(Model.CLAUDE_SONNET_4_6) .maxTokens(1024) .addUserMessage("Hello!") .build() ); IO.println(message);

PHP

use Anthropic\Aws\Client; $client = new Client(); $message = $client->messages->create( model: 'claude-sonnet-4-6', maxTokens: 1024, messages: [['role' => 'user', 'content' => 'Hello!']], ); echo $message;

Ruby

require "anthropic" client = Anthropic::AWSClient.new message = client.messages.create( model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }] ) puts message

クライアントは環境ANTHROPIC_AWS_WORKSPACE_IDから AWS_REGION (または AWS_DEFAULT_REGION) と を読み取ります。/ awsRegionまたは aws_region / workspace_id をコンストラクタworkspaceIdに渡すことで上書きできます。リージョン ID とワークスペース ID の両方が必要です。どちらもこれらのソースから解決できない場合、コンストラクタはスローします。

注記

x-amz-security-token ヘッダー (curl) は、IAM ロール、SSO、STS などの一時的な認証情報にのみ必要です。長期 IAM ユーザー認証情報を使用する場合は省略します。SDK クライアントは、認証情報ソースに基づいてこれを自動的に処理します。

--aws-sigv4 値は の形式に従いますaws:amz:<region>:<service>。SigV4 サービス名は でaws-external-anthropic、リージョンはエンドポイント URL のリージョンと一致する必要があります。いずれかの の不一致により、特定の診断ではなく一般的な署名拒否エラーが発生します。

基本 Anthropic クライアントの使用

AWS SDK の依存関係を追加しない場合は、 ベースAnthropicクライアントを使用できます。このパスは、専用クライアントが読み取る名前ではなく、バニラ SDK 環境変数ANTHROPIC_AWS_*名を使用します。

export ANTHROPIC_API_KEY='your-api-key' export ANTHROPIC_BASE_URL='https://aws-external-anthropic.us-west-2.api.aws' export ANTHROPIC_WORKSPACE_ID='your-workspace-id'

Python、TypeScript、Go SDKs読み取りANTHROPIC_API_KEYANTHROPIC_BASE_URL自動で、他の言語の場合はコンストラクタに渡します。すべての言語で、 anthropic-workspace-idヘッダーにワークスペース ID を渡します。

Python

import os from anthropic import Anthropic client = Anthropic( # ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL are read automatically default_headers={"anthropic-workspace-id": os.environ["ANTHROPIC_WORKSPACE_ID"]}, ) message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}], ) print(message.content[0].text)

TypeScript

import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ // ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL are read automatically defaultHeaders: { "anthropic-workspace-id": process.env.ANTHROPIC_WORKSPACE_ID } }); const message = await client.messages.create({ model: "claude-sonnet-4-6", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }] }); console.log(message.content);