如何获取现有的 s3 存储桶(子目录)?
How to get existing s3 bucket(subdirectory)?
对于我正在开发的 CDK 应用程序,尝试获取现有的 s3 存储桶路径,然后将一些本地文件复制到该存储桶。但是,当代码尝试搜索存储桶时出现此错误,
Failed to create resource. Command '['python3', '/var/task/aws', 's3', 'sync', '--delete', '/tmp/tmpew0gwu1w/contents', 's3://dir/subdir/']' returned non-zero exit status 1.
使用下面的代码,
如果有人能帮我解决这个问题,那就太好了,不确定 'bucket-name' 参数是否可以采用存储桶路径。
一行代码如下,
IBucket byName = Bucket.fromBucketName(this, "bucket-name", "dir/subdir");
注意:如果我尝试将文件复制到主目录(在本例中为 dir),它工作正常。
“路径”不是存储桶名称的一部分,而是对象键(文件名)的一部分。 Amazon S3 是一个对象存储,没有像文件系统那样的目录。
从技术上讲,存储桶中的每个对象都位于顶层,“路径”作为其名称的前缀。
所以如果你有类似 s3://bucket/path/sub-path/file.txt
的东西,bucket 名称是 bucket
和 object key (类似于文件名)是 path/sub-path/file.txt
,path/sub-path/
是 前缀 。
使用 aws s3 sync
CLI 命令时,前缀会转换为本地驱动器上的目录结构,反之亦然。
对于我正在开发的 CDK 应用程序,尝试获取现有的 s3 存储桶路径,然后将一些本地文件复制到该存储桶。但是,当代码尝试搜索存储桶时出现此错误,
Failed to create resource. Command '['python3', '/var/task/aws', 's3', 'sync', '--delete', '/tmp/tmpew0gwu1w/contents', 's3://dir/subdir/']' returned non-zero exit status 1.
使用下面的代码,
如果有人能帮我解决这个问题,那就太好了,不确定 'bucket-name' 参数是否可以采用存储桶路径。
一行代码如下,
IBucket byName = Bucket.fromBucketName(this, "bucket-name", "dir/subdir");
注意:如果我尝试将文件复制到主目录(在本例中为 dir),它工作正常。
“路径”不是存储桶名称的一部分,而是对象键(文件名)的一部分。 Amazon S3 是一个对象存储,没有像文件系统那样的目录。
从技术上讲,存储桶中的每个对象都位于顶层,“路径”作为其名称的前缀。
所以如果你有类似 s3://bucket/path/sub-path/file.txt
的东西,bucket 名称是 bucket
和 object key (类似于文件名)是 path/sub-path/file.txt
,path/sub-path/
是 前缀 。
使用 aws s3 sync
CLI 命令时,前缀会转换为本地驱动器上的目录结构,反之亦然。