【问题标题】:aws s3 ls - Bash script issueaws s3 ls - Bash 脚本问题
【发布时间】:2019-08-22 01:52:46
【问题描述】:

我正在执行一个包含以下行的 bash 脚本

source scl_source enable rh-python36
AWS_ACCESS_KEY_ID=$accessKey AWS_SECRET_ACCESS_KEY=$secretKey aws s3 ls

使用 bash 脚本执行代码的第二行时,我收到以下错误 - 调用 ListBuckets 操作时发生错误 (InvalidAccessKeyId):我们的记录中不存在您提供的 AWS 访问密钥 ID。

为了排查问题,我使用echo输出正在执行的命令。我复制并执行了这个 echo'ed 命令,并根据需要生成输出。

有人能告诉我这里缺少什么吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-cli


    【解决方案1】:

    尝试在 aws 命令之前设置环境变量:

    source scl_source enable rh-python36
    export AWS_ACCESS_KEY_ID=$accessKey
    export AWS_SECRET_ACCESS_KEY=$secretKey 
    aws s3 ls
    

    【讨论】:

    • 这种情况经常发生,小错误是最难的,也是最浪费时间的!就我而言,第二个命令需要作为 eval 执行 - eval ("AWS_ACCESS_KEY_ID=$accessKey AWS_SECRET_ACCESS_KEY=$secretKey aws s3 ls")