を使用して管理 AWS テンプレートからジョブを作成する AWS CLI - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用して管理 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 パラメータを表示します。さまざまなテンプレートと入力パラメータの詳細については、「管理テンプレートのリモートアクションとジョブドキュメント」を参照してください。

注記

この API を使用するときに返される documentParameters オブジェクトは、 AWS 管理テンプレートからジョブを作成する場合にのみ使用する必要があります。このオブジェクトをカスタムジョブテンプレートに使用しないでください。このパラメータの使用方法を示す例については、「管理テンプレートを使用してジョブを作成する」を参照してください。

{ "templateName": "AWS-Download-File", "templateArn": "arn:aws:iot:region::jobtemplate/AWS-Download-File:1.0", "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}\"}}]}" }

詳細については、「」を参照してくださいDescribeManagedJobTemplate

管理テンプレートを使用してジョブを作成する

create-job AWS CLI コマンドを使用して、ジョブテンプレートからジョブを作成できます。これは、thingOne というデバイスをターゲットとし、ジョブのベースとして使用する管理テンプレートの Amazon リソースネーム (ARN) を指定します。create-job コマンドの関連パラメータを渡すことで、タイムアウトやキャンセルの設定といった詳細設定を上書きできます。

この例では、AWS-Download-File テンプレートを使用するジョブを作成する方法を示しています。また、document-parameters パラメータを使用して、テンプレートの入力パラメータを指定する方法も示します。

注記

document-parameters オブジェクトは、 AWS 管理テンプレートでのみ使用してください。このオブジェクトをカスタムジョブテンプレートに使用しないでください。

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 アカウント 番号です。

  • thingOne は、ジョブの対象となる IoT のモノの名前です。

  • AWS-Download-File:1.0 は、管理テンプレートの名前です。

  • https://example.com/index.html は、ファイルのダウンロード元の URL です。

  • https://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." }

管理テンプレートからカスタムジョブテンプレートを作成する

  1. 前のセクションで説明したように、管理テンプレートを使用してジョブを作成します。

  2. 作成したジョブの ARN を使用して、カスタムジョブテンプレートを作成します。詳細については、「既存のジョブからジョブテンプレートを作成する」を参照してください。