当前位置: 首页 > 知识库问答 >
问题:

使用AWS CLI从S3下载文件

邓俊材
2023-03-14

我已使用IAM角色启动了一个ec2实例,并将以下策略与IAM角色关联。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::/testbucket/*",
            "Effect": "Allow"
        }
    ]
}

然而,当我试图从ec2-实例中使用aws cli下载文件时,我一直拒绝访问。

aws s3api get-object --bucket testbucket --key file_name file_name

当我模拟策略并对bucket中的对象执行操作时,会收到消息“allowed”。当我访问时,我可以看到正确的实例配置文件附在实例上http://169.254.254/latest-metadata/iam/info

我有什么明显的遗漏吗?

共有1个答案

越嘉茂
2023-03-14

我忽略了一个小的打字错误。

"Resource": "arn:aws:s3:::/testbucket/*"

bucket name前面不应该有/。换了,一切都很好。

"Resource": "arn:aws:s3:::testbucket/*"
 类似资料:
  • 运行上述代码后出现以下错误。请帮忙做这件事。。正在将源和目标文件名作为S3属性中的参数传递。。。 在处理上述异常时,发生了另一个异常: 回溯(最后一次调用):文件“C:\Cloudtail\CT\SQL Scripts\python\GRN\u S3\u dwnld.py”,第17行,除了botocore.exception.ClientErrors as e:NameError:未定义名称“bo

  • 根据AWS文档中提供的资源,可以通过以下代码下载对象: 编辑 我将更改为,它打开了pdf,但现在我需要下载它

  • 问题内容: 我在s3中有一个存储桶,它具有深层的目录结构。我希望我可以一次全部下载它们。我的文件如下所示: 有什么方法可以使用python中的boto lib从s3存储桶中递归下载这些文件? 提前致谢。 问题答案: 您可以按以下方式在存储桶中下载所有文件(未经测试): 请记住,S3中的文件夹只是写密钥名的另一种方法,只有客户端会将其显示为文件夹。

  • 我在S3存储桶中有一个包含json文件的文件夹。我正在使用Spring Boot。用户提供和特定文件()名称。

  • 我只想从s3 bucket inside文件夹下载最新文件。实际上,文件夹中有多个文件夹和文件。但我只需要下载最新日期的文件,并通过从多个文件夹中选择将其上载到一个文件夹中。我指的是stackoverflow源代码中的代码。 下面是s3桶的结构: 所以基本上,我想从文件夹(文件夹_1)内的s3 bucket下载最新文件,而不是从文件夹(文件夹_12、文件夹_13、文件夹_14)内下载最新文件。 我

  • 我目前正在S3中存储和下载我的Thymeleaf模板。 我使用以下函数从S3检索模板: 执行此操作后,文件将成功下载到所需位置。 但是当试图从FlyingSaucer PDF生成器访问文件时,该文件不存在,尽管它已经在FILE_LOCATION_PATH下载。(我可以打开文件...文件在那里,但函数看不到它) 当我一次又一次地运行程序时,我得到了相同的结果。但是当我停止程序并再次运行它时,一切都正