我知道我想訪問的桶的路徑/bucket1/bucket2/etc/
但我無法弄清楚如何通過boto3訪問它。在S3中使用Boto3訪問嵌套桶0
我可以枚舉所有從源頭開始的桶,但無法到達我想要的桶。
例如,我可以這樣做:
prod_bucket = s3.Bucket('prod')
但我不能這樣做:
prod_bucket = s3.Bucket('prod/prod2/')
TIA
我知道我想訪問的桶的路徑/bucket1/bucket2/etc/
但我無法弄清楚如何通過boto3訪問它。在S3中使用Boto3訪問嵌套桶0
我可以枚舉所有從源頭開始的桶,但無法到達我想要的桶。
例如,我可以這樣做:
prod_bucket = s3.Bucket('prod')
但我不能這樣做:
prod_bucket = s3.Bucket('prod/prod2/')
TIA
沒有嵌套桶。你有桶和物體。
s3 = boto3.client('s3')
object = s3.get_object(Bucket='prod', Key='prod2/..')
或者:
s3 = boto3.resource('s3')
bucket = s3.Bucket('prod')
object = bucket.Object('prod2/..')
參見:get_object
這對我不起作用,我得到一個「botocore.errorfactory.NoSuchKey」。即使我已經仔細檢查過名稱/鍵是否正確。 –
明白了,謝謝! –
您使用了錯誤的術語。桶是入口點,也就是平面名稱空間。那麼只需從命令行輸入'aws s3 ls s3://'prod/prod2 /''' –
確定它在CLI中正常工作,但與boto3/python不能正常工作。 –