如何在使用 ECS/Fargate 的容器中运行 CLI 命令?
我正在使用aws-cli / 1.15.25 Python / 2.7.15 Darwin / 17.7.0 botocore / 1.10.25尝试使用以下命令将文件上传到S3:
aws s3 cp <file> s3://bucket.s3.amazonaws.com/<bucket name>
Run Code Online (Sandbox Code Playgroud)
但是我得到以下返回:
ü
pload failed: ./<file> to s3://bucket.s3.amazonaws.com/<bucket name> An error occurred (AllAccessDisabled) when calling the PutObject operation: All access to this object has been disabled
Run Code Online (Sandbox Code Playgroud)
作为测试,我使用以下策略将存储桶设置为所有人都可以访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Principal": "*",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:PutObjectAcl",
"s3:GetObjectAcl"
],
"Resource": [
"arn:aws:s3:::<bucket name>/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的IAM用户具有正确的权限集
我不知道还要看什么。我已经Google搜索并尝试了大多数建议
我有一个目录,其中包含我想要转换为.csv的.xls文件.我正在使用xls2csv.此命令仅将csv输出到屏幕,因此我认为您必须执行xls2csv(xls文件)>(新文件).csv.所以为此,我需要编写一个循环.
for f in `ls`; do xls2csv > `rev $f` | cut -d "." | rev | echo ".csv"
Run Code Online (Sandbox Code Playgroud)
这就是我到目前为止所做的事情.我只是希望你能够通过上面的例子准确理解我想做什么.
amazon-ecs ×1
amazon-s3 ×1
aws-cli ×1
aws-fargate ×1
bash ×1
command ×1
command-line ×1
linux ×1
unix ×1