本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS 托管模板创建作业 AWS CLI
使用获取 AWS CLI 有关 AWS 托管模板的信息,并使用这些模板创建作业。然后,您可以将任务另存为模板,并创建自己的自定义模板。
列出托管模板
该list-managed-job-templates
AWS CLI
命令列出了您的所有作业模板 AWS 账户。
aws iot list-managed-job-templates
默认情况下,运行此命令会显示所有可用的 AWS 托管模板及其详细信息。
{ "managedJobTemplates": [ { "templateArn": "arn:aws:iot:
region
::jobtemplate/AWS-Reboot:1.0", "templateName": "AWS-Reboot", "description": "A managed job template for rebooting the device.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, { "templateArn": "arn:aws:iot:region
::jobtemplate/AWS-Remove-Application:1.0", "templateName": "AWS-Remove-Application", "description": "A managed job template for uninstalling one or more applications.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, { "templateArn": "arn:aws:iot:region
::jobtemplate/AWS-Stop-Application:1.0", "templateName": "AWS-Stop-Application", "description": "A managed job template for stopping one or more system services.", "environments": [ "LINUX" ], "templateVersion": "1.0" }, ... { "templateArn": "arn:aws:iot:us-east-1::jobtemplate/AWS-Restart-Application:1.0", "templateName": "AWS-Restart-Application", "description": "A managed job template for restarting one or more system services.", "environments": [ "LINUX" ], "templateVersion": "1.0" } ] }
有关更多信息,请参阅ListManagedJobTemplates。
获取有关托管式模板的详细信息
该describe-managed-job-template
AWS CLI 命令获取有关指定作业模板的详细信息。指定任务模板名称和可选的模板版本。如果未指定模板版本,则返回预定义的默认版本。以下示例显示运行命令以获取有关 AWS-Download-File
模板的详细信息。
aws iot describe-managed-job-template \ --template-name
AWS-Download-File
该命令显示模板的详细信息及其ARN作业文档以及documentParameters
参数(模板的输入参数键值对列表)。有关不同模板和输入参数的信息,请参阅托管模板远程操作和任务文档。
注意
使用它时返回的documentParameters
对象API只能在通过 AWS 托管模板创建作业时使用。此对象不得用于自定义任务模板。有关演示如何使用此参数的示例,请参阅使用托管模板创建任务。
{ "templateName": "AWS-Download-File", "templateArn": "arn:aws:iot:
::jobtemplate/
region
", "description": "A managed job template for downloading a file.", "templateVersion": "1.0", "environments": [ "LINUX" ], "documentParameters": [ { "key": "downloadUrl", "description": "URL of file to download.", "regex": "(.*?)", "example": "http://www.example.com/index.html", "optional": false }, { "key": "filePath", "description": "Path on the device where downloaded file is written.", "regex": "(.*?)", "example": "/path/to/file", "optional": false }, { "key": "runAsUser", "description": "Execute handler as another user. If not specified, then handler is executed as the same user as device client.", "regex": "(.){0,256}", "example": "user1", "optional": true }, { "key": "pathToHandler", "description": "Path to handler on the device. If not specified, then device client will use the current working directory.", "regex": "(.){0,4096}", "example": "/path/to/handler/script", "optional": true } ], "document": "{\"version\":\"1.0\",\"steps\":[{\"action\":{\"name\":\"Download-File\",\"type\":\"runHandler\",\"input\":{\"handler\":\"download-file.sh\",\"args\":[\"${aws:iot:parameter:downloadUrl}\",\"${aws:iot:parameter:filePath}\"],\"path\":\"${aws:iot:parameter:pathToHandler}\"},\"runAsUser\":\"${aws:iot:parameter:runAsUser}\"}}]}" }
AWS-Download-File:1.0
有关更多信息,请参阅DescribeManagedJobTemplate。
使用托管模板创建任务
该create-job
AWS CLI 命令可用于根据作业模板创建作业。它以名为的设备为目标,thingOne
并指定托管模板的 Amazon 资源名称 (ARN) 作为任务的基础。您可以覆盖高级配置(如超时和取消配置),方法是传递 create-job
命令的关联参数。
该示例显示如何创建使用 AWS-Download-File
模板的任务。它还展示了如何使用 document-parameters
参数指定模板的输入参数。
注意
仅在 AWS 托管模板中使用该document-parameters
对象。此对象不得与自定义任务模板一起使用。
aws iot create-job \ --targets arn:aws:iot:
region
:account-id
:thing/thingOne
\ --job-id "new-managed-template-job
" \ --job-template-arn arn:aws:iot:region
::jobtemplate/AWS-Download-File:1.0
\ --document-parameters downloadUrl=https://example.com/index
.html,filePath=path/to/file
其中:
-
region
是 AWS 区域。 -
account-id
是唯一的 AWS 账户 数字。 -
是任务指向的 IoT 事物的名称。thingOne
-
AWS-Download-File:1.0
是托管模板的名称。 https://
是URL用来下载文件的。example.com/index
.htmlhttps://
是设备上用于存储下载文件的路径。pathto/file/index
运行以下命令创建模板的任务:
。AWS-Download-File
{ "jobArn": "arn:aws:iot:region:account-id:job/
new-managed-template-job
", "jobId": "new-managed-template-job
", "description": "A managed job template for downloading a file." }
从托管模板创建自定义任务模板
-
使用上一节中介绍的托管模板创建任务。
-
使用您创建的作业创建自定义作业模板。ARN有关更多信息,请参阅 从现有任务创建任务模板。