You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Amazon Braket集成Jupyter Notebooks提交作业时触发ExpiredTokenException的解决方法咨询

解决Amazon Braket中"ExpiredTokenException when calling GetQuantumTask operation"错误

嘿,这个错误我之前帮人排查过好几次,大概率和AWS凭证过期、权限配置或者环境关联有关,给你几个具体的排查和解决步骤:

  • 检查并刷新AWS凭证
    首先在Notebook里运行这条命令确认当前凭证状态:

    !aws sts get-caller-identity
    

    如果返回凭证过期的相关提示,说明临时凭证失效了。要是你用的是Braket托管的Notebook,看看界面上有没有「Refresh Credentials」按钮,点一下就能刷新;如果是通过AWS SSO登录的,重新执行SSO登录流程获取新凭证即可。

  • 验证IAM角色权限
    有时候不是凭证过期,而是当前使用的IAM角色没有braket:GetQuantumTask的操作权限。你可以登录AWS IAM控制台,找到关联到Notebook或作业的角色,检查它的权限政策里是否包含这个动作——最简单的方式是确认角色附加了AmazonBraketFullAccess托管政策,或者自定义政策里明确允许braket:GetQuantumTask

  • 重启并重新关联Notebook实例
    如果是Braket托管的Notebook实例,偶尔会出现角色关联异常导致凭证无法刷新的情况。尝试重启Notebook实例,重启后系统会重新绑定IAM角色,自动刷新有效凭证。

  • 手动指定有效凭证(自定义环境)
    要是你用的是本地或自行搭建的Jupyter环境连接Braket,可以在代码里明确指定有效的AWS凭证(注意别硬编码到公开仓库,优先用凭证文件或环境变量):

    import boto3
    from braket.aws import AwsDevice
    
    # 用有效凭证初始化会话
    aws_session = boto3.Session(
        aws_access_key_id="你的访问密钥",
        aws_secret_access_key="你的秘密密钥",
        region_name="us-east-1"  # 替换为你使用的AWS区域
    )
    
    # 基于该会话创建Braket设备
    device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1", aws_session=aws_session)
    
  • 确认区域一致性
    确保你的Notebook环境、Braket作业、目标量子设备都处于同一个AWS区域。跨区域调用可能会触发意外的凭证或权限错误,比如在us-west-2创建的任务,却用us-east-1的端点调用GetQuantumTask,这种情况很容易被忽略。

如果以上步骤都没解决问题,建议查看AWS CloudTrail的日志,里面会记录更详细的错误细节,比如具体是哪个凭证、哪个角色触发了异常,能帮你更快定位根源。

内容的提问来源于stack exchange,提问作者Xavier McCaig

火山引擎 最新活动