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 前加上下表中標示為「是」之欄位的前綴,例如 。您也可以傳入完整的推論設定檔 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 連接器、程式化工具呼叫)
  • 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 的上下文視窗。其他 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?