news 2026/10/3 6:41:38

从 0 到可用:Claude Code × Amazon Bedrock 实战打通指南(TaoToken 统一 Key 版)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从 0 到可用:Claude Code × Amazon Bedrock 实战打通指南(TaoToken 统一 Key 版)

1. 为什么 Claude Code 走 Bedrock 总在凭证这关卡住

Claude Code 本身是个本地跑的编码 Agent,它默认会走 Anthropic 官方登录。但很多团队的真实诉求是:模型调用要走自己已经开通的 Amazon Bedrock,认证、计费、模型版本都收拢到 AWS 账号体系里。于是就有了这条链路——Claude Code 不再直连 Anthropic,而是通过 AWS Bedrock 调 Claude 模型。

听起来只是换个后端,实际落地时卡人的地方非常集中。我见过最多的三类现场:第一类是 Bedrock 控制台里 Claude 模型压根没解锁,Claude Code 一启动就报模型不存在;第二类是 AWS 凭证配了,但AWS_REGION没显式给,Claude Code 读不到区域,请求发不出去;第三类是 IAM 权限只给了半套,InvokeModel有、InvokeModelWithResponseStream没有,流式输出直接断。

这篇就按“从 0 到可用”的顺序,把 Bedrock 开通、AWS 凭证准备、Claude Code 切换、端到端验证、报错排查整条路径拆开写。每一步都给可复制的命令和环境变量模板,你照着敲就能跑。同时我会说明怎么用 TaoToken 的统一 Key/API 通道,把 Claude Code、Bedrock 以及其它工具的接入凭证集中管理,避免每个工具一套 Key、换个人就找不到配置在哪。

适合谁看:已经在用 Claude Code、想把模型调用切到 Bedrock 的开发者;团队里负责统一 AI 接入层、需要管多套凭证的人;以及被local proxy failed、401、reading choices这类报错折腾过、想一次搞明白根因的同学。核心检索词就三个:Claude Code、Amazon Bedrock、AWS 环境变量与凭证。下面进入正题。

2. 先把 Bedrock 和 Claude 模型权限打通

这一步是所有问题的源头。很多人以为是 Claude Code 配置错了,其实八成是 Bedrock 侧没准备好。Claude Code 只是发起方,真正决定“能不能调”的是 Bedrock 里 Claude 模型有没有对你开放。

2.1 进入 Bedrock 并解锁 Anthropic 模型

登录 AWS 控制台,搜索并进入 Amazon Bedrock。第一次使用 Anthropic 系列模型时,会触发一个关键动作:打开 Playground(Chat 或 Text 都行),随便选一个 Claude 模型,系统会弹出 use case 表单。这个表单填一次就够,相当于给你的账号“解锁 Anthropic 模型”。填完之后,模型列表里 Claude 才会从灰色变成可调用。

这里有个容易忽略的点:use case 表单是按账号维度生效的,不是按 Region。但模型可用性是按 Region 走的,所以下一步要确认区域。

2.2 确认三件事:账号、区域、模型权限

你需要确认三件事同时成立:当前 AWS 账号已启用 Bedrock;当前 Region 支持 Claude;账号已被允许调用 Claude 模型。推荐直接用us-east-1,这是最稳的区域,Claude 系列基本都在,模型 alias 更新也最及时。如果你在别的区域,先去 Bedrock 的模型目录里搜一下 Claude,看得到且能打开 Playground,才算可用。

2.3 用 TaoToken 统一管理多工具接入凭证

到这一步你手里会开始出现多套凭证:AWS 的 Access Key、Bedrock 的 Bearer Token,可能还有别的工具的 Key。团队里一旦超过两个人用,就会出现“谁的 Key 在哪台机器上”的混乱。我的做法是用 TaoToken 做统一入口,把模型调用通道和 Key 管理收拢到一处。

TaoToken 官网是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。它的定位是统一 Key/API 通道,让你在 Claude Code、Bedrock 以及其它工具之间用一套可控的接入方式,而不是每个工具各配一套、各记一份。对于要长期维护 AI 接入层的团队,这一点比单次跑通更值钱。

具体操作上,你可以先在 TaoToken 控制台创建 Key,再把它作为统一凭证分发给不同工具。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,Key 管理在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。这样 Claude Code 走 Bedrock 时,凭证来源清晰、可轮换、可回收,不会出现某台机器上还留着离职同事的旧 Key。

3. 可复制的 AWS 凭证与 Claude Code 配置

这一节是全文最该抄的部分。Claude Code 不认 Anthropic 登录,它走的是 AWS SDK 默认凭证链。也就是说,只要你的环境里有一套 AWS 能识别的凭证,Claude Code 就能用。下面给几种方式,按你的场景选一种即可。

3.1 方式一:aws configure(最直接)

aws configure

执行后依次填入 Access Key、Secret Key、默认 Region(可以填us-east-1,也可以后面单独设)。这种方式会把凭证写到~/.aws/credentials,Claude Code 通过默认凭证链自动读取。

3.2 方式二:环境变量(最快)

export AWS_ACCESS_KEY_ID=你的AK export AWS_SECRET_ACCESS_KEY=你的SK export AWS_REGION=us-east-1

环境变量的好处是临时、干净,适合快速验证。缺点是换个终端就没了,长期用建议写进 shell 配置或密钥管理工具。

3.3 方式三:SSO(公司环境推荐)

aws sso login --profile=myprofile export AWS_PROFILE=myprofile export AWS_REGION=us-east-1

SSO 适合企业账号,凭证短期有效、自动轮换,安全性比长期 AK 高一个档次。

3.4 方式四:Bedrock API Key(最快起飞)

export AWS_BEARER_TOKEN_BEDROCK=你的APIKey export AWS_REGION=us-east-1

这种方式适合快速验证链路,不用配 AK/SK。注意它和上面的 AK/SK 方式不要混用,选一种保持干净。

3.5 让 Claude Code 走 Bedrock 的核心配置

不管用哪种凭证方式,让 Claude Code 切到 Bedrock 的核心就两个环境变量:

export CLAUDE_CODE_USE_BEDROCK=1 export AWS_REGION=us-east-1

这里有个极容易踩的坑:AWS_REGION必须显式设置,Claude Code 不会自动去读~/.aws/config里的 region。你只配了AWS_PROFILE而没配AWS_REGION,Claude Code 就是调不通,报错还未必直说区域问题。

如果你要把配置固化下来,可以写一个settings.json片段,路径按你的项目或用户级配置放:

{ "env": { "CLAUDE_CODE_USE_BEDROCK": "1", "AWS_REGION": "us-east-1", "ANTHROPIC_DEFAULT_SONNET_MODEL": "us.anthropic.claude-sonnet-4-6" } }

固定模型 ID 的好处是避免 alias 自动升级导致某天突然不可用。Bedrock 的模型 alias 会更新,写死版本号能让你在升级前有准备。

3.6 安装 Claude Code

curl -fsSL https://claude.ai/install.sh | bash

安装完直接执行claude,此时默认还是 Anthropic 登录模式。把上面的环境变量配好后再启动,它才会走 Bedrock。

4. 端到端验证:一次请求确认链路真的通了

配置写完不算通,得有一次真实的端到端调用验证。进入任意项目目录,执行:

claude

如果一切正常,你会看到两个明显信号:不会弹出 Claude 登录流程;请求直接走 Bedrock,计费落在 AWS 账号上。这时候随便让它读一个文件、改一行代码,观察是否有流式输出。

4.1 用 AWS CLI 先验证凭证本身

在启动 Claude Code 之前,建议先用 AWS CLI 确认凭证和 Bedrock 权限是通的:

aws sts get-caller-identity

这条命令返回你的账号 ID 和 ARN,说明凭证链没问题。接着验证 Bedrock 模型列表:

aws bedrock list-inference-profiles --region us-east-1

如果能看到 Claude 相关的 inference profile,说明区域和权限都对。这一步能把“凭证问题”和“Claude Code 问题”提前分开,省得后面瞎猜。

4.2 用 TaoToken 模型对话做交叉验证

如果你怀疑是模型侧的问题,可以到 TaoToken 的模型对话页面单独发一次请求,地址是 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite 。这样能把“Claude Code 客户端配置”和“模型通道本身”两个变量拆开:模型对话能通,说明通道没问题,问题在 Claude Code 配置;模型对话也不通,说明凭证或权限还没到位。

4.3 观察请求走向

验证成功时,Claude Code 的请求不会走 Anthropic 直连,而是走 AWS 的 Bedrock 端点。你可以在 AWS 的 CloudTrail 或 Bedrock 的调用日志里看到对应的InvokeModel记录。看到这条记录,基本可以确认整条链路打通了。

5. 常见报错排查:401、local proxy failed、reading choices

这一节按真实报错来对。下面这些错我都见过,逐个说根因和解法。

5.1 401 与凭证无效

报401或Unauthorized,九成是凭证问题。先跑aws sts get-caller-identity,如果这条也失败,说明 AK/SK 或 SSO 本身有问题,跟 Claude Code 无关。如果这条成功但 Claude Code 还 401,检查是不是同时配了多套凭证导致冲突,比如环境变量里有一套、~/.aws/credentials里又有一套,SDK 取值优先级和你以为的不一样。

5.2 local proxy failed

报local proxy failed通常和网络出口或代理配置有关。检查你的环境变量里有没有残留的HTTP_PROXY、HTTPS_PROXY,这些会干扰 AWS SDK 的请求。清掉它们再试:

unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy

另外确认AWS_REGION已显式设置,区域缺失时某些 SDK 会走到奇怪的默认端点,表现就像代理失败。

5.3 reading choices 报错

报reading choices或解析响应失败,多半是模型返回结构和你预期的不一致。常见原因是模型 ID 写错或 alias 失效,Bedrock 返回了错误结构而不是正常的 choices。解法是固定模型 ID:

export ANTHROPIC_DEFAULT_SONNET_MODEL=us.anthropic.claude-sonnet-4-6

然后确认这个模型 ID 在当前 Region 的list-inference-profiles里存在。

5.4 OAuth 相关报错

如果你看到 OAuth 或登录相关的报错,说明 Claude Code 还在走 Anthropic 登录模式,CLAUDE_CODE_USE_BEDROCK=1没生效。检查这个变量是不是在当前 shell 里,或者有没有被settings.json覆盖。用echo $CLAUDE_CODE_USE_BEDROCK确认值是1。

5.5 IAM 权限不够

Bedrock 调用至少需要这三个权限:

{ "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream", "bedrock:ListInferenceProfiles" ], "Resource": "*" }

少了InvokeModelWithResponseStream,流式输出会断;少了ListInferenceProfiles,模型发现会失败。把这段加到对应 IAM 策略里再试。

5.6 模型突然不可用

昨天还能用,今天报模型不存在,基本是 alias 升级了。Bedrock 的模型 alias 会滚动更新,写死版本号能避免这种“半夜挂掉”。这也是前面settings.json里固定ANTHROPIC_DEFAULT_SONNET_MODEL的原因。

6. 把接入凭证收拢到统一通道

跑通一次不难,难的是长期维护。Claude Code 走 Bedrock 之后,你的认证走 AWS、计费走 AWS、模型切换也走 AWS,整个体系开始向企业级统一 AI 接入层靠拢。这时候凭证管理就成了核心问题:谁在用、用哪套、怎么轮换、怎么回收。

我的建议是把长期编码和 Agent 场景的接入统一到 TaoToken 的 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。这样 Claude Code、Bedrock 以及其它编码工具的接入方式收敛到一套通道,换工具不用重配一遍凭证。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有各工具的配置示例,照着改 Base URL、Key、Model ID 三件套即可。

如果你用的是 Claude Code 的 Anthropic 兼容接入方式,可以参考 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude-code-anthropic&utm_campaign=rewrite 里的配置说明。核心还是那三件套:Base URL 指向统一通道、Key 用 TaoToken 创建的、Model ID 写死版本号。把这三样固定下来,团队里任何人换机器、换工具,配置都能复用。

最后给一个实用技巧:把 AWS 凭证和 TaoToken Key 都放进密钥管理工具,不要硬编码在脚本里。环境变量模板可以提交到仓库,但值走本地注入。这样既方便新人上手,又不会把凭证泄露出去。整条链路跑通之后,你真正得到的不只是“Claude Code 能用 Bedrock”,而是一套可维护、可轮换、可审计的 AI 接入方式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 6:40:43

STM32 HAL库控制SG-5010舵机:PWM原理与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华