Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 boto是否可以使用未经验证的存储桶列表?_Amazon S3_Boto - Fatal编程技术网

Amazon s3 boto是否可以使用未经验证的存储桶列表?

Amazon s3 boto是否可以使用未经验证的存储桶列表?,amazon-s3,boto,Amazon S3,Boto,我正在使用boto与S3存储桶进行交互,在某些情况下,我只希望能够列出一个公开可读的存储桶,而无需传递凭据。如果我传递凭据,boto实际上不允许我列出bucket,即使它是公开可见的。是否可以连接到S3并在不传递凭据的情况下列出一个bucket?文档中没有提到它,但在深入研究代码后,我发现一个隐藏的kwarg解决了我的问题: conn = boto.connect_s3(anon=True) 然后,您可以在任何公开可读的存储桶上调用conn.get_bucket()。如果您只是读取存储桶的头部

我正在使用boto与S3存储桶进行交互,在某些情况下,我只希望能够列出一个公开可读的存储桶,而无需传递凭据。如果我传递凭据,boto实际上不允许我列出bucket,即使它是公开可见的。是否可以连接到S3并在不传递凭据的情况下列出一个bucket?

文档中没有提到它,但在深入研究代码后,我发现一个隐藏的kwarg解决了我的问题:

conn = boto.connect_s3(anon=True)

然后,您可以在任何公开可读的存储桶上调用
conn.get_bucket()

如果您只是读取存储桶的头部,我发现这样做没有任何可信度:

import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket(options.bucket)
s3.meta.client.head_bucket(Bucket=bucket.name)

当我需要ping我的bucket以获得可读性时,我会选择它。

另外一件值得注意的事情是:如果使用非访问,大多数事情都会起作用,但有一件事情是不起作用的,那就是
生成url
。看见