我正在尝试在 S3 存储桶中的文件创建事件中自动将文件从一个文件夹移动到同一 S3 存储桶中的另一个文件夹。
我希望使用 Lambda 函数的触发器来执行此操作,但我觉得 Lambda 在根目录级别触发并且不能在文件夹级别使用它。
例子:
Bucket Name: my-only-s3-bucket
Source Folder: s3://my-only-s3-bucket/Landing
Target Folder: s3://my-only-s3-bucket/Staging
要求:
当文件被创建或上传到源文件夹: s3://my-only-s3-bucket/Landing
时,它应该自动移动到 s3://my-only-s3-bucket/Staging
,无需任何人工干预
如何做到这一点?
我认为相对路径的概念可以解决您的问题。 这是解决您的问题的代码片段 使用名为 s3pathlib 的库,这是一个面向目标的 s3 文件系统接口。
如果你想要更高级的路径操作,你可以参考这个 document 。而
S3Path.change(new_abspath, new_dirpath, new_dirname, new_basename, new_fname, new_ext)
将是您需要知道的最重要的一个。