如何导入下面提到的python脚本的AWS凭证?

时间:2018-03-22 10:19:28

标签: amazon-web-services amazon-s3 boto3

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

但是此代码不起作用,如何导入我的AWS凭据以便这将返回正确的输出?

  

错误: botocore.exceptions.EndpointConnectionError:无法连接   到端点网址:“https://s3.aws-east-2.amazonaws.com/

预期输出: 我的帐户中的桶列表。

4 个答案:

答案 0 :(得分:0)

您的实例似乎无法连接到s3服务。运行 aws configure 命令以配置您的AWS访问密钥ID和秘密访问密钥以访问S3。它还会在AWS中提示输入区域名称,确保您提供正确的区域代码。

代码名称 我们 - 东 - 1

美国东部(弗吉尼亚北部)

我们 - 东 - 2

美国东部(俄亥俄州)

我们西-1

美国西部(加利福尼亚州北部)

我们西-2

美国西部(俄勒冈州)

CA-中央-1

加拿大(中环)

EU-中央-1

欧盟(法兰克福)

EU-西-1

欧盟(爱尔兰)

EU-西-2

欧盟(伦敦)

EU-西-3

欧盟(巴黎)

AP-东北-1

亚太(东京)

AP-东北-2

亚太地区(首尔)

AP-东北-3

亚太地区(大阪本地)

AP-东南-1

亚太地区(新加坡)

AP-东南-2

亚太地区(悉尼)

AP-南-1

亚太地区(孟买)

SA - 东 - 1

南美洲(圣保罗)

详细信息:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

答案 1 :(得分:0)

使用以下命令安装AWS Command Line Interface。有关详细信息,请参阅this文档。

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

如果还没有用户,请创建一个IAM用户。有关详细信息,请参阅this文档     下载凭证文件credentials.csv。访问密钥ID和秘密访问密钥将在此文件中列出  使用以下命令配置aws:

aws configure

在配置期间输入AWS Access Key ID, AWS Secret Access Key, Default region name and Default output format。 有关详细信息,请参阅this文档。

在此之后,你的python代码应该给出预期的结果。

答案 2 :(得分:0)

另一种选择是创建boto3 session

mysession = boto3.Session(
    aws_key=AWS_SERVER_PUBLIC_KEY,
    aws_secret=AWS_SERVER_SECRET_KEY,
)
s3 = mysession .resource('s3')

答案 3 :(得分:0)

收到的错误是因为boto aws客户端找不到要调用的区域端点,因为没有为客户端配置区域。

Boto在这些地方搜索它和凭据。

  1. 将凭据作为参数传递给boto.client()方法
  2. 在创建会话对象时将凭证作为参数传递
  3. 环境变量
  4. 共享凭据文件(〜/ .aws / credentials)
  5. AWS配置文件(〜/ .aws / config)
  6. 假设角色提供者
  7. Boto2配置文件(/etc/boto.cfg和〜/ .boto)
  8. 配置了IAM角色的Amazon EC2实例上的实例元数据服务。
  9. 如果此python代码在EC2上运行,则最佳做法是设置IAM role for the EC2 instance to assume。在IAM角色中,IAM策略允许访问您需要的任何内容。然后,在实例元数据(8)中可以访问python访问这些凭据。

    如果本地开发需要,下一个最好的方法是使用Session Token Service, STS来获取临时凭证并在本地测试代码。

    https://boto3.readthedocs.io/en/latest/guide/configuration.html

    https://boto3.readthedocs.io/en/latest/guide/index.html#general-feature-guides