无法 cp 或与 s3 同步,但我可以 ls
Cannot cp or sync with s3 but I can ls
我正在处理一个动作工作流,想从 s3 下载一个文件。我们的 s3 通过 IBM 云和 seems to have some nuances around usage 例如必须在调用 aws 客户端的命令和相应的 aws 命令之间添加 --endpoint-url {endpoint}
,例如aws --endpoint-url {endpoint} s3 ls
以下是我的 workflow.yml 文件中的相关步骤:
jobs:
retreive-model-s3:
runs-on: ubuntu-latest
steps:
- name: checkout current repo
uses: actions/checkout@master
- name: make dir to sync with s3
run: mkdir models
- name: s3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.AWS_S3_ENDPOINT }}
AWS_REGION: 'us-south'
run: |
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 ls ${{ secrets.AWS_S3_BUCKET }}
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 cp ${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds
- name: dir after
到此为止:
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 ls ${{ secrets.AWS_S3_BUCKET }}
在操作控制台输出中,我能够看到 ${{ secrets.AWS_S3_BUCKET }}
中的文件,包括一个名为 regression_model_full.rds
.
的文件
在下一行中,我尝试将其下载到 运行ner:
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 cp ${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds
但这会导致错误:
usage: aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
Error: Invalid argument type
Error: Process completed with exit code 252.
鉴于我能够成功 运行 s3 的 ls
命令,我确信我与 s3 的连接是可靠的。但是为什么我不能使用cp下载呢?我的语法不正确吗?
请检查 addis s3:
'''
aws --endpoint-url ${{ secrets.[=14th=] }} s3 cp s3://${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds
'''
我正在处理一个动作工作流,想从 s3 下载一个文件。我们的 s3 通过 IBM 云和 seems to have some nuances around usage 例如必须在调用 aws 客户端的命令和相应的 aws 命令之间添加 --endpoint-url {endpoint}
,例如aws --endpoint-url {endpoint} s3 ls
以下是我的 workflow.yml 文件中的相关步骤:
jobs:
retreive-model-s3:
runs-on: ubuntu-latest
steps:
- name: checkout current repo
uses: actions/checkout@master
- name: make dir to sync with s3
run: mkdir models
- name: s3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.AWS_S3_ENDPOINT }}
AWS_REGION: 'us-south'
run: |
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 ls ${{ secrets.AWS_S3_BUCKET }}
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 cp ${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds
- name: dir after
到此为止:
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 ls ${{ secrets.AWS_S3_BUCKET }}
在操作控制台输出中,我能够看到 ${{ secrets.AWS_S3_BUCKET }}
中的文件,包括一个名为 regression_model_full.rds
.
在下一行中,我尝试将其下载到 运行ner:
aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 cp ${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds
但这会导致错误:
usage: aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
Error: Invalid argument type
Error: Process completed with exit code 252.
鉴于我能够成功 运行 s3 的 ls
命令,我确信我与 s3 的连接是可靠的。但是为什么我不能使用cp下载呢?我的语法不正确吗?
请检查 addis s3: ''' aws --endpoint-url ${{ secrets.[=14th=] }} s3 cp s3://${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds '''