View a markdown version of this page

Membuat permintaan - Platform Claude di AWS

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);