如何解决aws s3 ls:HTTP客户端引发未处理的异常:无效的标头值
我正在尝试实现一个管道,该管道使用Gitlab CI将Python代码打包并将其复制到S3。 这是导致问题的工作:
package:
stage: package
image: python:3.8
script:
- apt-get update && apt-get install -y zip unzip jq
- pip3 install awscli
- aws s3 ls
- ./cicd/scripts/copy_zip_to_s3.sh
only:
refs:
- developer
我想提到的是,在.gitlab-ci.yml中的 before_script 部分中,我已经从Gitlab环境变量中导出了AWS凭证(AWS SECRET ACCESS KEY,AWS_ACCESS_KEY_ID等)。 我已经检查了数千次凭据,它们完全正确。我还要提及的是,相同的脚本对于Gitlab中同一小组下的另一个项目而言是完美的。 这是错误:
$ aws s3 ls
An HTTP Client raised an unhandled exception: Invalid header value b'AWS4-HMAC-SHA256 Credential=AKIAZXXXXXXXXXX\n/2020XX2/us-east-1/sts/aws4_request,SignedHeaders=content-type;host;x-amz-date,Signature=ab53XX6eb72XXXXXX2152e4XXXX93b104XXXXXXX363b1da6f9XXXXX'
ERROR: Job failed: exit code 1
./ cicd / scripts / copy_zip_to_s3.sh执行软件包和副本,执行该软件包时会发生相同的错误,这就是为什么我添加了一个简单的aws命令 aws s3 ls 来显示甚至一个简单的“ ls”不起作用。
有什么解决办法吗?谢谢大家。
解决方法
这是因为在AWS ACCESS KEY变量中添加了另一行。 感谢@jordanm
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。