【发布时间】:2016-08-10 18:22:59
【问题描述】:
有没有办法通过命令行传递我是访问密钥来将文件从我的本地复制到 S3 存储桶。就像
cp $file_name AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY $S3_BUCKETNAME
尝试了上面的命令,但没有成功
【问题讨论】:
标签: shell amazon-web-services jenkins amazon-s3
有没有办法通过命令行传递我是访问密钥来将文件从我的本地复制到 S3 存储桶。就像
cp $file_name AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY $S3_BUCKETNAME
尝试了上面的命令,但没有成功
【问题讨论】:
标签: shell amazon-web-services jenkins amazon-s3
首先,安装awscli(documentation):
pip install [--user] awscli
然后:
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
aws s3 cp <file> <S3Uri>
还可以使用aws 配置文件 (documentation) 中的配置文件指定凭据:
cat <<EOF >~/.aws/config
[profile test1]
aws_access_key_id=foo1
aws_secret_access_key=bar1
[profile test2]
aws_access_key_id=foo2
aws_secret_access_key=bar2
EOF
aws --profile test1 s3 cp <uri1> <file>
aws --profile test2 s3 cp <file> <uri2>
注意:
来自环境变量的凭证优先于来自共享凭证和 AWS CLI 配置文件的凭证。
因此,要使用多个凭据集,请确保它们都不作为环境变量传递,因为它们会覆盖配置文件中的那些。
【讨论】: