首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从AWS S3下载文件夹,并从公共桶中下载CloudPathLib?

如何从AWS S3下载文件夹,并从公共桶中下载CloudPathLib?
EN

Stack Overflow用户
提问于 2022-09-13 19:12:29
回答 2查看 225关注 0票数 0

我正在尝试使用Python S3从一个公共AWS cloudpathlib桶下载一个文件夹。我的代码如下所示:

代码语言:javascript
运行
复制
from cloudpathlib import CloudPath
path = r"C:\some\path\to\folder"
url = "s3://some-example-bucket/folder/"

cloud_path = CloudPath(url)
cloud_path.download_to(path)

非常直接。据我所知,这应该是可行的,因为水桶是公开的:

下面是桶策略(取自AWS S3教程):

代码语言:javascript
运行
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::cozy-auto-texture-sd-repo/*"
        }
    ]
}

当我运行Python代码来安装文件夹stable-diffusion-v1-4时,会出现以下错误消息:

代码语言:javascript
运行
复制
  File "E:\Cozy-Auto-Texture-Files\venv\lib\site-packages\botocore\auth.py", line 418, in add_auth
    raise NoCredentialsError()
botocore.exceptions.NoCredentialsError: Unable to locate credentials

我的问题是为什么会发生这种事?我的桶不应该要求凭证,因为它是公开的。有什么地方我漏了桶的权限,还是它是Python代码的东西?

谢谢你的阅读,我感谢你的帮助!

编辑:

我再次尝试过这种方法:

代码语言:javascript
运行
复制
BUCKET_NAME = 'cozy-auto-texture-sd-repo'  # replace with your bucket name
KEY = 'stable-diffusion-v1-4'

s3 = boto3.resource('s3')

try:
    s3.Bucket(BUCKET_NAME).download_file(KEY, sd_path)
except botocore.exceptions.ClientError as e:
    if e.response['Error']['Code'] == "404":
        print("The object does not exist.")
    else:
        raise

然而,同样的错误消息botocore.exceptions.NoCredentialsError: Unable to locate credentials出现了,这使我相信我的S3桶设置有问题。

EN

Stack Overflow用户

发布于 2022-09-14 20:16:22

假设您在本地运行此脚本,您可能需要首先在本地计算机上设置AWS凭据。

参见此existing answer

它与一个包含:默认的aws_secret_access_key=YYYYYYYYYYYYYYYYYYYYYYYYYYY (使用aws configure )的~/.aws/credentials文件一起工作,如果您安装了aws-cli .,它也可以工作。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73708204

复制
相关文章

相似问题

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