开发者社区 > 云原生 > Serverless > 正文

Serverless应用引擎更新任务模板启动命令设置Shell 脚本方式,对应 SDK 参数是哪个?

Serverless应用引擎更新任务模板(UpdateJob),启动命令设置Shell 脚本方式,对应 SDK 参数是哪个?用了Command 和 CommandArgs,改变的是 启动命令设置-》Docker 原生方式。

展开
收起
三分钟热度的鱼 2023-07-11 19:15:20 64 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果要在Serverless应用引擎中使用Shell脚本作为任务命令,需要使用 CommandInterpreter 参数,对应的 SDK 参数是:

    Copy
    "CommandInterpreter": "bash"
    Command 和 CommandArgs 是用于设置Docker原生启动命令的。

    而 CommandInterpreter 是用于指定命令的解释器,用于执行 Shell 脚本。

    具体使用如下:

    json
    Copy
    {
    "CommandInterpreter": "bash",
    "Command": "脚本名",
    "CommandArgs": [ 可选脚本参数 ],
    //...
    }
    例如:

    json
    Copy
    {
    "CommandInterpreter": "bash",
    "Command": "test.sh",
    "CommandArgs": ["-n", "100"],
    //...
    }
    这里指定bash作为解释器,test.sh 为 Shell 脚本,并传递-n 100 参数。

    那么Serverless应用引擎就会执行:

    bash
    Copy
    bash test.sh -n 100
    来启动该任务。

    2023-07-29 09:00:35
    赞同 展开评论 打赏
  • 在Serverless应用引擎(SAE)中,更新任务模板(UpdateJob)是用于更新应用配置的操作。如果您希望通过启动命令设置Shell脚本方式来更新任务模板,可以使用以下SDK参数:

    • Command:该参数用于指定要执行的Shell脚本文件路径或命令。

    • CommandArgs:该参数可选,用于传递给Shell脚本的参数。

    这两个参数可以在调用UpdateJob接口时进行设置。示例代码如下所示:

    import aliyun.sae
    
    client = aliyun.sae.Client(ACCESS_KEY, SECRET_KEY)
    
    # 设置要执行的Shell脚本和参数
    command = "/path/to/script.sh"
    command_args = ["arg1", "arg2"]
    
    # 更新任务模板
    job_id = "your_job_id"
    response = client.update_job(
        job_id=job_id,
        command=command,
        command_args=command_args
    )
    

    请根据您使用的编程语言和SDK进行相应的调整,以确保正确设置CommandCommandArgs参数。

    注意,以上参数将更改应用的启动命令设置为Shell脚本方式而不是Docker原生方式。确保您的Shell脚本能够被应用环境正确解释和执行,以实现预期的更新任务模板效果。

    2023-07-23 22:48:29
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • Serverless 应用引擎
  • 热门讨论

    热门文章

    相关电子书

    更多
    Shell 脚本速查手册 立即下载
    Serverless时代下大规模微服务应用运维的最佳实践 立即下载
    云效携手SAE助力掌讯科技持续降本提效 立即下载