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

注記

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

{ "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の を使用して、カスタムジョブテンプレートを作成します。詳細については、「既存のジョブからジョブテンプレートを作成する」を参照してください。