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
- 安裝 AWS CLI,版本需為
2.13.23或更新版本。 - 使用 AWS configure 指令設定您的 AWS 憑證(請參閱設定 AWS CLI),或在 AWS 儀表板中前往「Command line or programmatic access」,並依照彈出視窗中的指示找到您的憑證。
- 驗證您的憑證是否正常運作:
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 官方提供的可用推論設定檔清單,請參閱推論設定檔支援的區域和模型。若要了解前綴如何影響路由和定價,請參閱全球端點與區域端點一節。
| Model | Base Bedrock model ID | global | us | eu | jp | apac |
|---|---|---|---|---|---|---|
| Claude Opus 4.6 | Yes | Yes | Yes | Yes | Yes | |
| Claude Opus 4.5 | Yes | Yes | Yes | No | No | |
| Claude Opus 4.1 (deprecated) | No | Yes | No | No | No | |
| Claude Sonnet 4.6 | Yes | Yes | Yes | Yes | No | |
| Claude Sonnet 4.5 (deprecated) | Yes | Yes | Yes | Yes | No | |
| Claude Sonnet 4 (deprecated) | Yes | Yes | Yes | No | Yes | |
| Claude Haiku 4.5 | Yes | Yes | Yes | No | No |
列出可用模型
以下範例示範如何列印透過 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"}],
)其他資源
- Bedrock 定價: Amazon Bedrock 定價頁面
- AWS 定價文件: Bedrock 定價指南
- AWS 部落格文章: Introducing Claude Sonnet 4.5 in Amazon Bedrock
- Anthropic 定價詳情: 雲端平台定價
Was this page helpful?