Claude Platform Docs
Messages雲端平台上的 Claude

Amazon Bedrock 上的 Claude(Opus 4.6 及更早版本)

適用於 Claude 模型的舊版 Amazon Bedrock 整合,使用 InvokeModel 和 Converse API 以及以 ARN 標示版本的模型識別碼。

透過 Bedrock 呼叫 Claude 與直接在 Claude API 上呼叫 Claude 的方式略有不同。本指南將引導您使用 Anthropic 的其中一個用戶端 SDK,完成對 Bedrock 上 Claude 的 API 呼叫。

請注意,本指南假設您已註冊 AWS 帳戶並已設定程式化存取。

安裝並設定 AWS CLI

  1. 安裝 AWS CLI,版本須為 2.13.23 或更新版本。
  2. 使用 AWS configure 命令設定您的 AWS 憑證(請參閱設定 AWS CLI),或在您的 AWS 儀表板中前往「Command line or programmatic access」,並依照彈出視窗中的指示找到您的憑證。
  3. 驗證您的憑證是否正常運作:
AWS CLI
aws sts get-caller-identity

安裝用於存取 Bedrock 的 SDK

Anthropic 的用戶端 SDK 支援 Bedrock。您也可以直接使用 AWS SDK,例如 boto3。

pip install -U "anthropic[bedrock]"

存取 Bedrock

訂閱 Anthropic 模型

前往 AWS Console > Bedrock > Model Access 並申請存取 Anthropic 模型。請注意,Anthropic 模型的可用性因區域而異。如需最新資訊,請參閱 AWS 文件。

API 模型 ID

生命週期術語(Deprecated、Retired)的定義請參閱模型棄用。合作夥伴營運平台上的生命週期日期由合作夥伴設定,可能與 Claude API 的時程不同。如需 Amazon Bedrock 上任何模型目前的停用日期,請參閱 Amazon Bedrock 的模型生命週期頁面。

AWS 透過「cross-region inference」(跨區域推論)而非隨需輸送量提供較新的 Claude 模型(請參閱跨區域推論)。對於這些模型,傳入基礎模型 ID 的請求會失敗,並傳回類似以下的 HTTP 400 錯誤:

Invocation of model ID anthropic.claude-sonnet-4-5-20250929-v1:0 with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile that contains this model.

若要呼叫這些模型,請傳入推論設定檔(inference profile)而非基礎模型 ID。推論設定檔 ID 是在基礎模型 ID 前加上下表中標示為「Yes」之欄位的前綴,例如 。您也可以傳入完整的推論設定檔 ARN,格式為 arn:aws:bedrock:{region}:{account-id}:inference-profile/{inference-profile-id}。如需 AWS 提供的權威可用推論設定檔清單,請參閱推論設定檔支援的區域和模型。若要了解前綴如何影響路由和定價,請參閱全域與區域端點一節。

ModelBase Bedrock model IDglobaluseujpapac
Claude Opus 4.6YesYesYesYesYes
Claude Opus 4.5YesYesYesNoNo
Claude Opus 4.1 (deprecated)NoYesNoNoNo
Claude Sonnet 4.6YesYesYesYesNo
Claude Sonnet 4.5 (deprecated)YesYesYesYesNo
Claude Sonnet 4 (deprecated)YesYesYesNoYes
Claude Haiku 4.5YesYesYesNoNo

列出可用模型

以下範例示範如何列印透過 Bedrock 可用的所有 Claude 模型清單:

import boto3

bedrock = boto3.client(service_name="bedrock")
response = bedrock.list_foundation_models(byProvider="anthropic")

for summary in response["modelSummaries"]:
    print(summary["modelId"])

發送請求

以下範例示範如何在 Bedrock 上使用 Claude 生成文字:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # 請提供下方的金鑰進行驗證,或使用預設的 AWS 憑證提供者,例如
    # 使用 ~/.aws/credentials 或 "AWS_SECRET_ACCESS_KEY" 與 "AWS_ACCESS_KEY_ID" 環境變數。
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # 可搭配 aws_session_token 使用臨時憑證。
    # 詳情請參閱 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html。
    aws_session_token="<session_token>",
    # aws_region 會變更請求所送往的 AWS 區域。若未提供,SDK 會讀取
    # AWS_REGION / AWS_DEFAULT_REGION,接著讀取您的 boto3 工作階段或 AWS 設定檔所設定的區域
    # (包括 ~/.aws/config),若無法解析出任何區域,則會引發 ValueError。
    aws_region="us-west-2",
)

message = client.messages.create(
    model="global.anthropic.claude-opus-4-6-v1",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}],
)
print(message.content)

如需更多詳細資訊,請參閱用戶端 SDK 以及 Bedrock 官方文件。

Bearer token 驗證

您可以使用「bearer token」(持有者權杖)而非 AWS 憑證向 Bedrock 進行驗證。這在企業環境中很有用,因為團隊需要存取 Bedrock,但不必管理 AWS 憑證、IAM 角色或帳戶層級權限。

最簡單的方法是設定 AWS_BEARER_TOKEN_BEDROCK 環境變數,SDK 在從環境解析憑證時會自動偵測此變數。

若要以程式化方式提供權杖:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    api_key="your-bearer-token",
    aws_region="us-west-2",
)

message = client.messages.create(
    model="us.anthropic.claude-sonnet-4-5-20250929-v1:0",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content)

活動記錄

Bedrock 提供呼叫記錄服務,可讓您記錄與您的使用相關的提示和完成內容。

Anthropic 建議您至少以 30 天滾動週期記錄您的活動,以了解您的活動並調查任何潛在的濫用行為。

功能支援

如需包含 Amazon Bedrock 可用性的完整功能清單,請參閱功能概覽。

支援的功能重點

不支援的功能

  • 輸入來源(圖片和文件的 URL 來源、Files API)
  • 伺服器端工具(程式碼執行、網頁搜尋、網頁擷取、advisor)
  • 代理基礎架構(Agent Skills、MCP connector、程式化工具呼叫)
  • API 端點(Message Batches、Models、Admin、Compliance、Usage and Cost)
  • Claude Managed Agents
  • 伺服器端備援(fallbacks 參數;請改用用戶端備援模式)
  • 自動提示快取(頂層 cache_control 欄位;請改用明確快取中斷點)
  • 電腦使用和瀏覽器使用工具集(computer_toolset_20260801 和 browser_toolset_20260801 目前在 Amazon Bedrock 上無法使用;beta 版電腦使用工具版本仍可使用)

Bedrock 上的 PDF 支援

Bedrock 透過 Converse API 和 InvokeModel API 提供 PDF 支援。如需 PDF 處理功能和限制的詳細資訊,請參閱 Amazon Bedrock PDF 支援。

Converse API 使用者的重要注意事項:

  • 視覺化 PDF 分析(圖表、圖片、版面配置)需要啟用引用
  • 未啟用引用時,僅提供基本文字擷取
  • 若要在不強制使用引用的情況下獲得完整控制,請使用 InvokeModel API

Bedrock 上的對話中系統訊息

對話中系統訊息可透過 InvokeModel API 用於 Claude Fable 5.1、Claude Fable 5、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Sonnet 5.5 和 Claude Haiku 5.5。如 API 模型 ID 下的說明所述,這些請求由與 Amazon Bedrock 中的 Claude 端點相同的基礎架構提供服務。對話中系統訊息不需要 beta 標頭。此功能不適用於 Claude Sonnet 5,請改用頂層 system 欄位。此功能也不適用於本頁面模型表中以 ARN 標示版本的模型。

在 Claude Fable 5.1 和 Claude Opus 5.5 上,role: "system" 訊息也可以設定 output_config.effort 以在對話中變更 effort。此功能為 beta 版:請將 mid-conversation-output-config-2026-07-01 加入請求主體中的 anthropic_beta 陣列。若未加入該值,或在 Claude Fable 5、Claude Opus 5 或 Claude Opus 4.8 上使用,請求會傳回 400 錯誤:messages.N.output_config: Extra inputs are not permitted。在此錯誤中,N 是 system 訊息在 messages 中的索引。

Converse API 使用者: Converse API 透過其頂層 system 參數接受系統指示。若要在對話中加入系統指示,請使用 InvokeModel API。

上下文視窗

Claude Fable 5.1、Claude Fable 5、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 5.5、Claude Sonnet 5、Claude Sonnet 4.6 和 Claude Haiku 5.5 在 Amazon Bedrock 上具有 1M token 的「context window」(上下文視窗)。其他 Claude 模型,包括 Sonnet 4.5(已棄用)和 Sonnet 4(已棄用),具有 200k token 的上下文視窗。

Bedrock 將請求酬載限制為 20 MB。傳送大型文件或大量圖片時,您可能會在達到 token 限制之前先達到此限制。

全域與區域端點

從 Claude Sonnet 4.5 及所有未來模型開始,Bedrock 提供兩種端點類型:

  • 全域端點: 動態路由以獲得最大可用性
  • 區域端點: 保證資料透過特定地理區域路由

區域端點的定價比全域端點高出 10%。

何時使用各選項

全域端點(建議):

  • 提供最大的可用性和正常運作時間
  • 將請求動態路由至有可用容量的區域
  • 無額外定價
  • 最適合資料駐留要求具彈性的應用程式

區域端點(CRIS):

  • 透過特定地理區域路由流量
  • 資料駐留和合規要求所必需
  • 適用於美國、歐盟、日本和亞太地區
  • 10% 的額外定價反映專用區域容量的基礎架構成本

實作

使用全域端點(Opus 4.6、Sonnet 4.6 和 Sonnet 4.5(已棄用)的預設值):

Claude Opus 4.6、Sonnet 4.6 和 Sonnet 4.5(已棄用)的模型 ID 已包含 global. 前綴:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(aws_region="us-west-2")

message = client.messages.create(
    model="global.anthropic.claude-opus-4-6-v1",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}],
)

使用區域端點(CRIS):

若要使用區域端點,請將 global. 前綴替換為區域前綴,例如 us.:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(aws_region="us-west-2")

# 使用美國區域端點(CRIS)
message = client.messages.create(
    model="us.anthropic.claude-opus-4-6-v1",  # Regional prefix
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}],
)

其他資源

Was this page helpful?