首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(执行超时) Boto3 register_task_with_maintenance_window

(执行超时) Boto3 register_task_with_maintenance_window
EN

Stack Overflow用户
提问于 2019-12-03 15:18:29
回答 1查看 1.1K关注 0票数 1

我目前正在使用AWS Lambda来启动维护窗口,但是我发现执行超时默认设置为3600 (1小时),而在更大的范围内使用时,1小时往往会拖长一些。我试图将超时时间降低到900 (15分钟),但尽管在运行lambda时接受executionTimeout:"900“,但将创建维护窗口,并得到执行任务中的错误:”指定的参数不完整或无效。“

下面是我正在尝试的代码片段:

代码语言:javascript
运行
复制
        reg_taskmw_res = ssm_client.register_task_with_maintenance_window(
    WindowId=window_id,
    Targets=[
        {
            'Key': 'WindowTargetIds',
            'Values': [
                reg_targetmw_res['WindowTargetId']
            ]
        },
    ],
    TaskArn='AWS-RunPatchBaseline',
    TaskType='RUN_COMMAND',

    TaskInvocationParameters={
        'RunCommand': {
            'DocumentHash': DocHash,
            'DocumentHashType': 'Sha256',
            'Parameters': {
                'Operation': ['Scan'],
                'executionTimeout': ['900']
                },
            'TimeoutSeconds': 60
            },
        },
    Priority=123,
    MaxConcurrency='3',
    MaxErrors='3'
)

如果我不使用executionTimeout,那么维护窗口就可以工作,但是有3600个超时。我已经尝试了多种方法来做这件事,并且找了很久也没有用。谢谢你的帮助!

EN

Stack Overflow用户

回答已采纳

发布于 2019-12-03 17:47:14

事实证明,内置的文档不允许您在此时配置自定义的执行超时(令人惊讶)。它允许您配置的超时是传递超时,但执行超时是硬编码的,您不能更改它。因此,要使用不同的执行超时,您必须创建您自己的自定义文档,允许您设置它。我向AWS支持部门提出了同样的问题,并得到了以下答案:

--AWS提供的文档没有将executionTimeout内置作为可配置参数,并在7200分钟内完成了硬编码:

action ##第34-37行“##”:“##:runPowerShellScript”,"name":"PatchWindows","inputs":{ "timeoutSeconds":7200,

您可以在这里创建自己的自定义文档并自己添加参数,这将允许您在交付超时之外配置执行超时,而交付超时正是控制台条目的用途。为此,您可以根据现有的1创建一个新的自定义文档,然后添加以下修改:

在第5行插入:

"executionTimeout":{“executionTimeout”:“executionTimeout”:“executionTimeout”,“默认”:" 900 ",“描述”:“(可选)命令在被认为失败之前完成的时间(秒)。默认值为900 (15分钟)。最大值为172800 (48小时)。”,"allowedPattern":allowedPattern },

替换timeoutSeconds输入:

现有:

“操作”:"aws:runPowerShellScript“、”名称“:"PatchWindows”、“输入”:{ "timeoutSeconds":7200,

新的

“操作”:"aws:runPowerShellScript“、”名称“:"PatchWindows”、“输入”:{ "timeoutSeconds":“{{executionTimeout}”,

我对此进行了测试,它接受executionTimeout参数。我希望这能帮到你!

参考资料:1份文件副本- https://docs.aws.amazon.com/systems-manager/latest/userguide/copy-document.html

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59160213

复制
相关文章

相似问题

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