首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boto3会话不工作

boto3会话不工作
EN

Stack Overflow用户
提问于 2017-12-05 06:47:16
回答 1查看 1K关注 0票数 2

我正在使用boto3会话向s3上传文件。我可以使用~/.aws/credentials将文件上传到s3中,但是如果我尝试创建here所述的会话,我会得到一个禁止的错误。基本上,我不能使用我的凭证上传。代码是:

代码语言:javascript
复制
        if env == 'qa':
         credentials = getQaConfig(data)
         ACCESS_KEY = credentials['AccessKeyId']
         SECRET_KEY = credentials['SecretAccessKey']
        elif env == 'prod':
         credentials = getProdConfig(data)
         ACCESS_KEY = credentials['AccessKeyId']
         SECRET_KEY = credentials['SecretAccessKey']
       elif env == 'dev':
        credentials = getDevConfig(data)
        ACCESS_KEY = credentials['AccessKeyId']
        SECRET_KEY = credentials['SecretAccessKey']

      s3 = boto.Session(
           aws_access_key_id=ACCESS_KEY,
           aws_secret_access_key=SECRET_KEY
           ).resource('s3')

即使没有从环境中获取访问密钥并直接对其进行硬编码,如下所示,我也会得到一个错误。

代码语言:javascript
复制
      s3 = boto.Session(
           aws_access_key_id='my_Actual_key',
           aws_secret_access_key='mey actual_Secret
           ).resource('s3')
EN

回答 1

Stack Overflow用户

发布于 2019-08-07 04:12:24

使用boto3设置S3客户端的实际方法如下:

代码语言:javascript
复制
client = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN,
)

或通过会话

代码语言:javascript
复制
session = boto3.Session(
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
aws_session_token=SESSION_TOKEN,
)

无法建立会话的一个可能原因可能是您的帐户已为AWS设置了SSO (单点登录),并且您需要解析令牌和剩余凭据

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47643236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档