Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat permintaan
Platform Claude di AWS menggunakan Anthropic Messages API (/v1/messages), permukaan API yang sama dengan platform pihak pertama Claude. Perbedaannya adalah URL dasar, metode otentikasi, dan anthropic-workspace-id header wajib yang mengidentifikasi ruang kerja mana yang ditargetkan permintaan.
Cangkang
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
Klien membaca AWS_REGION (atauAWS_DEFAULT_REGION) dan ANTHROPIC_AWS_WORKSPACE_ID dari lingkungan. Anda dapat mengganti baik dengan meneruskanaws_region/awsRegionatauworkspace_id/workspaceIdke konstruktor. ID wilayah dan ruang kerja diperlukan; konstruktor melempar jika salah satu tidak dapat diselesaikan dari sumber-sumber ini.
catatan
x-amz-security-tokenHeader (curl) hanya diperlukan untuk kredensi sementara seperti peran IAM, SSO, atau STS. Hilangkan saat menggunakan kredensil pengguna IAM jangka panjang. Klien SDK menangani ini secara otomatis berdasarkan sumber kredensialnya.
--aws-sigv4Nilai mengikuti formataws:amz:<region>:<service>. Nama layanan SigV4 adalahaws-external-anthropic, dan wilayah harus cocok dengan wilayah di URL titik akhir Anda. Ketidakcocokan di keduanya menghasilkan kesalahan penolakan tanda tangan generik daripada diagnostik tertentu.
Menggunakan klien Antropik dasar
Jika Anda memilih untuk tidak menambahkan dependensi AWS SDK, Anda dapat menggunakan klien dasarAnthropic. Jalur ini menggunakan nama variabel lingkungan SDK vanilla daripada ANTHROPIC_AWS_* nama yang dibaca klien khusus:
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, dan Go SDK membaca ANTHROPIC_API_KEY dan ANTHROPIC_BASE_URL secara otomatis; untuk bahasa lain, teruskan ke konstruktor. Dalam setiap bahasa, berikan ID ruang kerja di anthropic-workspace-id header.
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);