Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Senden von Anforderungen
Die Claude-Plattform auf AWS verwendet die Anthropic Messages API (/v1/messages), dieselbe API-Oberfläche wie die Claude-Erstanbieterplattform. Die Unterschiede bestehen in der Basis-URL, der Authentifizierungsmethode und einem erforderlichen anthropic-workspace-id Header, der angibt, auf welchen Workspace die Anfrage abzielt.
Shell
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
Der Client liest AWS_REGION (oderAWS_DEFAULT_REGION) ANTHROPIC_AWS_WORKSPACE_ID aus der Umgebung. Sie können entweder überschreiben, indem Sieaws_region/awsRegionoderworkspace_id/workspaceIdan den Konstruktor übergeben. Sowohl die Regions- als auch die Workspace-ID sind erforderlich. Der Konstruktor gibt aus, wenn beide Werte nicht aus diesen Quellen aufgelöst werden können.
Anmerkung
Der x-amz-security-token Header (curl) ist nur für temporäre Anmeldeinformationen wie IAM-Rollen, SSO oder STS erforderlich. Lassen Sie ihn weg, wenn Sie langfristige IAM-Benutzeranmeldeinformationen verwenden. Die SDK-Clients verarbeiten dies automatisch auf der Grundlage der Quelle der Anmeldeinformationen.
Der --aws-sigv4 Wert folgt dem Formataws:amz:<region>:<service>. Der SigV4-Dienstname lautetaws-external-anthropic, und die Region muss mit der Region in Ihrer Endpunkt-URL übereinstimmen. Eine Nichtübereinstimmung in beiden Fällen führt eher zu einem generischen Fehler bei der Ablehnung der Signatur als zu einer spezifischen Diagnose.
Verwenden Sie den Anthropic-Basisclient
Wenn Sie die AWS-SDK-Abhängigkeit nicht hinzufügen möchten, können Sie den Anthropic Basisclient verwenden. Dieser Pfad verwendet die Namen der Vanille-SDK-Umgebungsvariablen und nicht die ANTHROPIC_AWS_* Namen, die der dedizierte Client liest:
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'
Die Python- TypeScript, und Go-SDKs werden gelesen ANTHROPIC_API_KEY und ANTHROPIC_BASE_URL automatisch; für die anderen Sprachen werden sie an den Konstruktor übergeben. Übergeben Sie in jeder Sprache die Workspace-ID in der anthropic-workspace-id Kopfzeile.
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);