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。您也可以直接使用 boto3 等 AWS SDK。
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 官方的可用推理配置文件列表,请参阅推理配置文件支持的区域和模型。要了解这些前缀如何影响路由和定价,请参阅全球端点与区域端点部分。
| 模型 | 基础 Bedrock 模型 ID | global | us | eu | jp | apac |
|---|---|---|---|---|---|---|
| Claude Opus 4.6 | 是 | 是 | 是 | 是 | 是 | |
| Claude Sonnet 4.6 | 是 | 是 | 是 | 是 | 否 | |
| Claude Sonnet 4.5 | 是 | 是 | 是 | 是 | 否 | |
| Claude Sonnet 4 已弃用。 | 是 | 是 | 是 | 否 | 是 | |
| Claude Sonnet 3.7 已停用。 | 否 | 否 | 否 | 否 | 否 | |
| Claude Opus 4.5 | 是 | 是 | 是 | 否 | 否 | |
| Claude Opus 4.1 已弃用。 | 否 | 是 | 否 | 否 | 否 | |
| Claude Opus 4 已停用。 | 否 | 否 | 否 | 否 | 否 | |
| Claude Haiku 4.5 | 是 | 是 | 是 | 否 | 否 | |
| Claude Haiku 3.5 已弃用。 | 否 | 是 | 否 | 否 | 否 |
列出可用模型
以下示例展示了如何打印通过 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 令牌身份验证
您可以使用 bearer token(持有者令牌)而非 AWS 凭证对 Bedrock 进行身份验证。这在企业环境中非常有用,团队无需管理 AWS 凭证、IAM 角色或账户级权限即可访问 Bedrock。
最简单的方法是设置 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 和 Claude Opus 4.8。如 API 模型 ID 下的说明所述,这些请求由与 Amazon Bedrock 中的 Claude 端点相同的基础设施提供服务。无需 beta 标头。此功能在 Claude Sonnet 5 上不可用,请改用顶层 system 字段。本页模型表中带 ARN 版本的模型也不支持此功能。
对于 Converse API 用户: Converse API 通过其顶层 system 参数接受系统指令。如需在对话中途添加系统指令,请使用 InvokeModel API。
上下文窗口
Claude Fable 5.1、Claude Fable 5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 5 和 Claude Sonnet 4.6 在 Amazon Bedrock 上拥有 100 万令牌的 context window(上下文窗口)。其他 Claude 模型,包括 Sonnet 4.5 和 Sonnet 4(已弃用),拥有 20 万令牌的上下文窗口。
Bedrock 将请求负载限制为 20 MB。发送大型文档或大量图像时,您可能会在达到令牌限制之前先达到此限制。
全球端点与区域端点
从 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 博客文章: 在 Amazon Bedrock 中推出 Claude Sonnet 4.5
- Anthropic 定价详情: 云平台定价
Was this page helpful?