首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置"aws s3 cp“命令重试?

如何设置"aws s3 cp“命令重试?
EN

Stack Overflow用户
提问于 2018-05-29 22:42:58
回答 1查看 2.4K关注 0票数 5

我有一个jenkins工作,它上传一个非常小的bash文件(小于1MB)到s3存储桶。它在大多数情况下都可以工作,但偶尔会失败,出现以下错误:

代码语言:javascript
运行
复制
upload failed: build/xxxxxxx/test.sh The read operation timed out

上述错误直接来自aws cli操作。我在想,这可能是某个网络问题,也可能是此时磁盘读取操作不可用。如果发生这种情况,如何设置重试选项?另外,是否可以增加超时时间?我搜索了cli文档,谷歌了一下,并检出了'aws s3api‘,但没有看到任何这样的选项。

如果这样的选项不能exist.Then,人们该如何解决这个问题呢?是否包装命令以检查错误代码并重试?

EN

Stack Overflow用户

发布于 2018-06-25 22:39:45

最后在s3命令周围编写包装器来重试,并在最后一次尝试时获得调试堆栈。可能会对人们有所帮助。

代码语言:javascript
运行
复制
# Purpose: Allow retry while uploading files to s3 bucket
# Params:
#   \$1 : local file to copy to s3
#   \$2 : s3 bucket path
#   \$3 : AWS bucket region
#
function upload_to_s3 {
    n=0
    until [ \$n -gt 2 ]
    do
        if [ \$n -eq 2 ]; then
            aws s3 cp --debug \$1 \$2 --region \$3
            return \$?
        else
            aws s3 cp \$1 \$2 --region \$3 && break
        fi
        n=\$[\$n+1]
        sleep 30
   done
}
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50587170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档