【问题标题】:Uploading files to Amazon s3 bucket using ARN iam in Python在 Python 中使用 ARN iam 将文件上传到 Amazon s3 存储桶
【发布时间】:2019-03-15 07:41:50
【问题描述】:

我获得了一个带有 ARN 编号的存储桶名称,如下所示:

arn:aws:iam:::用户/用户名

我还获得了一个访问密钥。

我知道这可以使用 boto 来完成。

Connect to s3 bucket using IAM ARN in boto3

在上面的链接中,我需要使用“sts”吗? 如果是这样,为什么我会提供访问密钥?

【问题讨论】:

  • 您显示的 ARN 适用于 IAM 用户(不是存储桶)。您还声明您有一个访问密钥。您还需要一个类似于密码的Secret Key(或Secret Access Key)——你有这个吗?使用访问密钥和秘密密钥,您将能够调用 AWS API。您想通过 AWS 管理控制台、AWS Command-Line Interface (CLI) 还是以编程方式访问 S3?
  • 非常感谢约翰的回复。
  • 如果你能回答我的问题,那么我们可以告诉你如何访问 S3。
  • 我需要以编程方式访问它。现在我也得到了密钥。我想运行我的 python 脚本,文件应该上传到 S3

标签: python python-3.x amazon-web-services amazon-s3 boto


【解决方案1】:

首先,我建议您安装AWS Command-Line Interface (CLI),它提供了用于访问 AWS 的命令行。

然后您可以通过运行将您的凭据存储在配置文件中:

aws configure

它将提示您输入访问密钥和秘密密钥,它们将存储在配置文件中。

然后,您需要参考S3 — Boto 3 documentation 以了解如何从 Python 访问 Amazon S3。

这里有一些示例代码:

import boto3

client = boto3.client('s3', region_name = 'ap-southeast-2') # Change as appropriate

client.upload_file('/tmp/hello.txt', 'mybucket', 'hello.txt')

【讨论】:

  • 所以我不需要在任何地方使用 iam 用户吗?我的意思是 arn 编号 (arn:aws:iam:::user/user-name) ?
  • 没有。这是您的 IAM 用户的唯一标识符。但是,Access Key 已经与您的用户关联,因此系统可以仅通过 Access Key 识别您。
  • 知道了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 2018-04-04
  • 2018-04-12
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
相关资源
最近更新 更多