首页 » 云计算 » AWS » 正文

Windows环境下使用AWS python SDK boto3 连接到 S3

官方文档:https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html

我这里的环境是: Win10+python3.6

 

1. 打开cmd窗口安装boto3:pip install boto3

2. 配置你的 aws_access_key_id 和 aws_secret_access_key

  • 在AWS获取你的 aws_access_key_id 和 aws_secret_access_key  (进入AWS IAM console,点击用户,创建新用户就可以得到,一定要给新用户授予相应的产品权限)
  • 创建文件 C:\Users\Alex\.aws\credentials ,填入你的 aws_access_key_id 和 aws_secret_access_key ,内容如下:
  • .aws 目录不存在则创建,创建时文件夹命名为 .aws.  后面多加一点就可以创建了
    • [default]
      aws_access_key_id = AKIAW8QIESY35QO2QBXN
      aws_secret_access_key = 2SYO+DinxS/uUyp+bdwbQFoyl1lFSuWO4td8OrK1
  • 创建文件 C:\Users\Alex\.aws\config ,填入你的默认region ,内容如下:
    • [default]
      region=us-east-1

       

3. 在PyCharm中使用 boto3 ,打印出所有的 bucket:

import boto3

s3 = boto3.resource("s3")
for bucket in s3.buckets.all():
    print(bucket.name)

输出:

alex-test-bucket
alex-test-buctet-2

当前我有2个bucket。

 

完。

 

遇到的问题:

如果你运行的时候出现 TypeError: _send_request() takes 5 positional arguments but 6 were given

解决办法: pip install --upgrade boto3

这是在python3.6上的一个bug,详细可以看 https://github.com/boto/botocore/issues/1079

 

发表评论

+ 37 = 43