我正在尝试将特定的扩展文件 (.xlsx) 移动/复制到我的 s3 存储桶。
我为此使用了以下命令。
cmd= 'aws s3 cp myfolder/*.xlsx s3://mybucket/myfolder --recursive'
where:
**myfolder** is my local system directory where the file is present
**s3://mybucket/myfolder** : folder location where i am placing all the .xlsx file in s3.
但是当我使用 python 运行这个命令时
os.system(cmd)
Getting Error : 255
有人可以建议我做任何改变或任何其他方式来实现目标吗?
注意:我已经用我的 s3 键配置了我的系统 cmd,所有命令也都运行良好。
更新:
cmd = '$aws s3 cp myfolder/*.xlsx s3://mybucket/myfolder --recursive'
getting error:1 on interactive python.
答案 0 :(得分:0)
不支持在命令的路径参数中使用 UNIX 风格的通配符。使用 --exclude
和 --include
过滤器。
aws s3 cp myfolder s3://mybucket/myfolder/ --recursive --exclude "*" --include "*.xlsx"
参数的顺序很重要。
请注意,运行帮助命令 aws s3 help
会带来与以下链接相同的命令参考。
来自AWS docs:
目前,不支持使用 UNIX 风格的通配符
命令的路径参数。但是,大多数命令都有 --exclude "<value>"
和 --include "<value>"
参数可以实现
想要的结果。这些参数执行模式匹配
排除或包含特定文件或对象。下面的图案
支持符号。
请注意,默认情况下,包含所有文件。这意味着
只提供一个 --include
过滤器不会改变文件是什么
转移。 --include
只会重新包含已被删除的文件
从 --exclude
过滤器中排除。如果您只想上传文件
使用特定扩展名,您需要首先排除所有文件,然后
重新包含具有特定扩展名的文件。