You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中可执行IBM Cloud S3 ls命令但无法执行cp命令问题

问题原因

你的aws s3 cp命令中的S3资源路径缺少必填的s3://协议前缀。
IBM云对象存储对aws s3 ls命令的格式兼容度较高,即使你直接传入存储桶名不带前缀也可以正常识别;但aws s3 cp命令对参数格式校验更严格,要求S3端路径必须符合标准S3 URI格式,也就是必须以s3://开头,否则会被识别为本地路径,触发参数类型错误。

解决方案

直接修改你的cp命令,在存储桶变量前拼接s3://前缀即可:

aws --endpoint-url ${{ secrets.AWS_S3_ENDPOINT }} s3 cp s3://${{ secrets.AWS_S3_BUCKET }}/regression_model_full.rds models/regression_model_full.rds

额外优化建议:你已经在当前步骤的env中声明了所有S3相关的环境变量,可以直接调用环境变量,不需要重复引用secrets,写法更简洁:

aws --endpoint-url $AWS_S3_ENDPOINT s3 cp s3://$AWS_S3_BUCKET/regression_model_full.rds models/regression_model_full.rds

如果后续需要批量下载存储桶内的多个文件,也可以使用s3 sync命令,同样需要遵循S3 URI格式要求:

aws --endpoint-url $AWS_S3_ENDPOINT s3 sync s3://$AWS_S3_BUCKET/ ./models

内容的提问来源于stack exchange,提问作者Doug Fir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:06:03