AWS CLIを使用してカスタムジョブテンプレートを作成する - AWS IoT Core

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

AWS CLIを使用してカスタムジョブテンプレートを作成する

このトピックでは、 AWS CLIを使用してジョブテンプレートの作成、削除、詳細情報の取得を行う方法について説明します。

一からジョブテンプレートを作成する

次の AWS CLI コマンドは、ジョブドキュメント (job-document.json) S3 バケットと、Amazon S3 (S3DownloadRole).

aws iot create-job-template \ --job-template-id 010 \ --document-source https://s3.amazonaws.com/amzn-s3-demo-bucket/job-document.json \ --timeout-config inProgressTimeoutInMinutes=100 \ --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \ --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \ --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"

オプションの timeout-config パラメータは、各デバイスがジョブの実行を終了すべき時間を指定します。ジョブの実行ステータスが IN_PROGRESS に設定されると、タイマーが開始されます。タイマーが時間切れになるまでにジョブの実行ステータスが別の終了状態に設定されない場合は、TIMED_OUT に設定されます。

進捗タイマーは更新できず、ジョブのすべての起動に適用されます。ジョブの起動がこの間隔よりも長く IN_PROGRESS状態のままになると、ジョブの起動は失敗し、ターミナルTIMED_OUTステータスに切り替わります。 AWS IoT もMQTT通知を発行します。

ジョブロールアウトと中止に関する設定の作成の詳細については、「ジョブのロールアウトと中止設定」を参照してください。

注記

ジョブを作成するときに、Amazon S3 ファイルとして指定されたジョブドキュメントが取得されます。ジョブを作成した後でジョブドキュメントのソースとして使用した Amazon S3 ファイルの内容を変更しても、ジョブのターゲットに送信されるものは変更されません。

既存のジョブからジョブテンプレートを作成する

次の AWS CLI コマンドは、既存のジョブの Amazon リソースネーム (ARN) を指定してジョブテンプレートを作成します。新しいジョブテンプレートでは、ジョブで指定されたすべての設定が使用されます。必要に応じて、任意のオプションのパラメータを使用して既存のジョブの構成を変更できます。

aws iot create-job-template \ --job-arn arn:aws:iot:region:123456789012:job/job-name \ --timeout-config inProgressTimeoutInMinutes=100

ジョブテンプレートの詳細を取得する

次の AWS CLI コマンドは、指定されたジョブテンプレートの詳細を取得します。

aws iot describe-job-template \ --job-template-id template-id

コマンドによって以下の出力が表示されます。

{ "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "createdAt": number, "description": "string", "document": "string", "documentSource": "string", "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "jobTemplateArn": "string", "jobTemplateId": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

ジョブテンプレートを一覧表示する

次の AWS CLI コマンドは、 内のすべてのジョブテンプレートを一覧表示します AWS アカウント。

aws iot list-job-templates

コマンドによって以下の出力が表示されます。

{ "jobTemplates": [ { "createdAt": number, "description": "string", "jobTemplateArn": "string", "jobTemplateId": "string" } ], "nextToken": "string" }

結果の追加ページを取得するには、nextToken フィールドの値を使用します。

ジョブテンプレートを削除する

次の AWS CLI コマンドは、指定されたジョブテンプレートを削除します。

aws iot delete-job-template \ --job-template-id template-id

コマンドは出力を表示しません。

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

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

警告

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

aws iot create-job \ --targets arn:aws:iot:region:123456789012:thing/thingOne \ --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id