Job
オブジェクトにはジョブの詳細が含まれています。以下に構文例を示します。
{
"jobArn": "string",
"jobId": "string",
"status": "IN_PROGRESS|CANCELED|SUCCEEDED",
"forceCanceled": boolean,
"targetSelection": "CONTINUOUS|SNAPSHOT",
"comment": "string",
"targets": ["string"],
"description": "string",
"createdAt": timestamp,
"lastUpdatedAt": timestamp,
"completedAt": timestamp,
"jobProcessDetails": {
"processingTargets": ["string"],
"numberOfCanceledThings": long,
"numberOfSucceededThings": long,
"numberOfFailedThings": long,
"numberOfRejectedThings": long,
"numberOfQueuedThings": long,
"numberOfInProgressThings": long,
"numberOfRemovedThings": long,
"numberOfTimedOutThings": long
},
"presignedUrlConfig": {
"expiresInSec": number,
"roleArn": "string"
},
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": integer,
"incrementFactor": integer,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": integer, // Set one or the other
"numberOfSucceededThings": integer // of these two values.
},
"maximumPerMinute": integer
}
},
"abortConfig": {
"criteriaList": [
{
"action": "string",
"failureType": "string",
"minNumberOfExecutedThings": integer,
"thresholdPercentage": integer
}
]
},
"SchedulingConfig": {
"startTime": string
"endTime": string
"timeZone": string
"endTimeBehavior": string
},
"timeoutConfig": {
"inProgressTimeoutInMinutes": long
}
}
詳細については、「Job
」または「job
」を参照してください。
JobSummary
オブジェクトにはジョブの概要が含まれています。以下に構文例を示します。
{
"jobArn": "string",
"jobId": "string",
"status": "IN_PROGRESS|CANCELED|SUCCEEDED|SCHEDULED",
"targetSelection": "CONTINUOUS|SNAPSHOT",
"thingGroupId": "string",
"createdAt": timestamp,
"lastUpdatedAt": timestamp,
"completedAt": timestamp
}
詳細については、「JobSummary
」または「job-summary
」を参照してください。
JobExecution
オブジェクトは、デバイスでのジョブの実行を表します。以下に構文例を示します。
コントロールプレーン API オペレーションを使用する場合、JobExecution
データ型には JobDocument
フィールドが含まれません。この情報を取得するには、GetJobDocument
API オペレーションまたは get-job-document
CLI コマンドを使用できます。
{
"approximateSecondsBeforeTimedOut": 50,
"executionNumber": 1234567890,
"forceCanceled": true|false,
"jobId": "string",
"lastUpdatedAt": timestamp,
"queuedAt": timestamp,
"startedAt": timestamp,
"status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED",
"forceCanceled": boolean,
"statusDetails": {
"detailsMap": {
"string": "string" ...
},
"status": "string"
},
"thingArn": "string",
"versionNumber": 123
}
詳細については、「JobExecution
」または「job-execution
」を参照してください。
JobExecutionSummary
オブジェクトには、ジョブ実行の概要情報が含まれています。以下に構文例を示します。
{
"executionNumber": 1234567890,
"queuedAt": timestamp,
"lastUpdatedAt": timestamp,
"startedAt": timestamp,
"status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED"
}
詳細については、「JobExecutionSummary
」または「job-execution-summary
」を参照してください。
JobExecutionSummaryForJob
オブジェクトには、特定のジョブのジョブ実行に関する情報の概要が含まれています。以下に構文例を示します。
{
"executionSummaries": [
{
"thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing",
"jobExecutionSummary": {
"status": "IN_PROGRESS",
"lastUpdatedAt": 1549395301.389,
"queuedAt": 1541526002.609,
"executionNumber": 1
}
},
...
]
}
詳細については、「JobExecutionSummaryForJob
」または「job-execution-summary-for-job
」を参照してください。
JobExecutionSummaryForThing
オブジェクトには、特定のモノのジョブ実行に関する情報の概要が含まれています。以下に構文例を示します。
{
"executionSummaries": [
{
"jobExecutionSummary": {
"status": "IN_PROGRESS",
"lastUpdatedAt": 1549395301.389,
"queuedAt": 1541526002.609,
"executionNumber": 1
},
"jobId": "MyThingJob"
},
...
]
}
詳細については、「JobExecutionSummaryForThing
」または「job-execution-summary-for-thing
」を参照してください。
グループを連続ジョブに関連付けます。以下の条件を満たす必要があります。
-
ジョブは、targetSelection
フィールドを CONTINUOUS
に設定して作成しておく必要があります。
-
ジョブのステータスは、現在 IN_PROGRESS
です。
-
ジョブに関連付けられたターゲットの合計数が 100 を超えることはできません。
- HTTPS request
POST /jobs/jobId
/targets
{
"targets": [ "string" ],
"comment": "string"
}
詳細については、「AssociateTargetsWithJob
」を参照してください。
- CLI syntax
aws iot associate-targets-with-job \
--targets <value> \
--job-id <value> \
[--comment <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"targets": [
"string"
],
"jobId": "string",
"comment": "string"
}
詳細については、「associate-targets-with-job
」を参照してください。
ジョブをキャンセルします。
- HTTPS request
PUT /jobs/jobId
/cancel
{
"force": boolean,
"comment": "string",
"reasonCode": "string"
}
詳細については、「CancelJob
」を参照してください。
- CLI syntax
-
aws iot cancel-job \
--job-id <value> \
[--force <value>] \
[--comment <value>] \
[--reasonCode <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"force": boolean,
"comment": "string"
}
詳細については、「cancel-job
」を参照してください。
デバイスでジョブ実行をキャンセルする。
- HTTPS request
PUT /things/thingName
/jobs/jobId
/cancel
{
"force": boolean,
"expectedVersion": "string",
"statusDetails": {
"string": "string"
...
}
}
詳細については、「CancelJobExecution
」を参照してください。
- CLI syntax
aws iot cancel-job-execution \
--job-id <value> \
--thing-name <value> \
[--force | --no-force] \
[--expected-version <value>] \
[--status-details <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"thingName": "string",
"force": boolean,
"expectedVersion": long,
"statusDetails": {
"string": "string"
}
}
詳細については、「cancel-job-execution
」を参照してください。
ジョブを作成します。 ジョブドキュメントは、Amazon S3 バケット (documentSource
パラメータ) またはリクエストの本文 (document
パラメータ) のファイルへのリンクとして提供できます。
オプションの targetSelection
パラメータを CONTINUOUS
に設定することで、ジョブを連続にすることができます (デフォルトは SNAPSHOT
)。連続ジョブは実行され続け、新規追加されたモノで起動するため、連続ジョブを使用して、グループに追加されたデバイスをオンボードまたはアップグレードできます。これは、ジョブ作成時点のグループ内のモノがジョブを完了した後でも発生する可能性があります。
ジョブでは、オプションの TimeoutConfig に進捗タイマーの値を設定できます。進捗タイマーは更新できず、ジョブのすべての実行に適用されます。
CreateJob
API の引数に対して、次の検証が実行されます。
-
targets
引数は、有効なモノまたはモノのグループの ARN のリストでなければなりません。すべてのモノとモノのグループは、AWS アカウント にある必要があります。
-
documentSource
引数は、ジョブドキュメント有効な Amazon S3 URL である必要があります。 Amazon S3 URL は https://s3.amazonaws.com/bucketName
/objectName
という形式です。
-
documentSource
引数で指定された URL に格納されているドキュメントは、UTF-8 でエンコードされた JSON ドキュメントである必要があります。
-
ジョブドキュメントのサイズは、MQTT メッセージのサイズ (128 KB) と暗号化の制限から、32 KB に制限されています。
-
jobId
は、AWS アカウント 内で一意である必要があります。
- HTTPS request
PUT /jobs/jobId
{
"targets": [ "string" ],
"document": "string",
"documentSource": "string",
"description": "string",
"jobTemplateArn": "string",
"presignedUrlConfigData": {
"roleArn": "string",
"expiresInSec": "integer"
},
"targetSelection": "CONTINUOUS|SNAPSHOT",
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": integer,
"incrementFactor": integer,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": integer, // Set one or the other
"numberOfSucceededThings": integer // of these two values.
},
"maximumPerMinute": integer
}
},
"abortConfig": {
"criteriaList": [
{
"action": "string",
"failureType": "string",
"minNumberOfExecutedThings": integer,
"thresholdPercentage": integer
}
]
},
"SchedulingConfig": {
"startTime": string
"endTime": string
"timeZone": string
"endTimeBehavior": string
}
"timeoutConfig": {
"inProgressTimeoutInMinutes": long
}
}
詳細については、「CreateJob
」を参照してください。
- CLI syntax
aws iot create-job \
--job-id <value> \
--targets <value> \
[--document-source <value>] \
[--document <value>] \
[--description <value>] \
[--job-template-arn <value>] \
[--presigned-url-config <value>] \
[--target-selection <value>] \
[--job-executions-rollout-config <value>] \
[--abort-config <value>] \
[--timeout-config <value>] \
[--document-parameters <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"targets": [ "string" ],
"documentSource": "string",
"document": "string",
"description": "string",
"jobTemplateArn": "string",
"presignedUrlConfig": {
"roleArn": "string",
"expiresInSec": long
},
"targetSelection": "string",
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": integer,
"incrementFactor": integer,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": integer, // Set one or the other
"numberOfSucceededThings": integer // of these two values.
},
"maximumPerMinute": integer
}
},
"abortConfig": {
"criteriaList": [
{
"action": "string",
"failureType": "string",
"minNumberOfExecutedThings": integer,
"thresholdPercentage": integer
}
]
},
"timeoutConfig": {
"inProgressTimeoutInMinutes": long
},
"documentParameters": {
"string": "string"
}
}
詳細については、「create-job
」を参照してください。
ジョブおよびそれに関連するジョブの実行を削除します。
ジョブに作成されたジョブ実行の数およびその他さまざまな要素に応じて、ジョブの削除には時間がかかる場合があります。ジョブの削除中、そのジョブのステータスは「DELETION_IN_PROGRESS」として表示されます。ステータスがすでに「DELETION_IN_PROGRESS」のジョブを削除あるいはキャンセルしようとすると、エラーになります。
- HTTPS request
DELETE /jobs/jobId
?force=force
詳細については、「DeleteJob
」を参照してください。
- CLI syntax
aws iot delete-job \
--job-id <value> \
[--force | --no-force] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"force": boolean
}
詳細については、「delete-job
」を参照してください。
ジョブの実行を削除します。
- HTTPS request
DELETE /things/thingName
/jobs/jobId
/executionNumber/executionNumber
?force=force
詳細については、「DeleteJobExecution
」を参照してください。
- CLI syntax
aws iot delete-job-execution \
--job-id <value> \
--thing-name <value> \
--execution-number <value> \
[--force | --no-force] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"thingName": "string",
"executionNumber": long,
"force": boolean
}
詳細については、「delete-job-execution
」を参照してください。
ジョブ実行の詳細を取得します。
- HTTPS request
GET /jobs/jobId
詳細については、「DescribeJob
」を参照してください。
- CLI syntax
-
aws iot describe-job \
--job-id <value> \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string"
}
詳細については、「describe-job
」を参照してください。
ジョブ実行の詳細を取得します。ジョブの実行ステータスは、SUCCEEDED
または FAILED
である必要があります。
- HTTPS request
GET /things/thingName
/jobs/jobId
?executionNumber=executionNumber
詳細については、「DescribeJobExecution
」を参照してください。
- CLI syntax
-
aws iot describe-job-execution \
--job-id <value> \
--thing-name <value> \
[--execution-number <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"thingName": "string",
"executionNumber": long
}
詳細については、「describe-job-execution
」を参照してください。
ジョブのジョブドキュメントを取得します。
プレースホルダーの URL は、返されたドキュメントの署名付き Amazon S3 URL に置き換えられません。署名付き URL は、AWS IoT ジョブサービスが MQTT を介して要求を受け取った場合にのみ生成されます。
- HTTPS request
GET /jobs/jobId
/job-document
詳細については、「GetJobDocument
」を参照してください。
- CLI syntax
-
aws iot get-job-document \
--job-id <value> \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string"
}
詳細については、「get-job-document
」を参照してください。
ジョブのジョブ実行リストを取得します。
- HTTPS request
-
GET /jobs/jobId
/things?status=status
&maxResults=maxResults
&nextToken=nextToken
詳細については、「ListJobExecutionsForJob
」を参照してください。
- CLI syntax
aws iot list-job-executions-for-job \
--job-id <value> \
[--status <value>] \
[--max-results <value>] \
[--next-token <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"jobId": "string",
"status": "string",
"maxResults": "integer",
"nextToken": "string"
}
詳細については、「list-job-executions-for-job
」を参照してください。
モノのジョブ実行リストを取得します。
- HTTPS request
GET /things/thingName
/jobs?status=status
&maxResults=maxResults
&nextToken=nextToken
詳細については、「ListJobExecutionsForThing
」を参照してください。
- CLI syntax
aws iot list-job-executions-for-thing \
--thing-name <value> \
[--status <value>] \
[--max-results <value>] \
[--next-token <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"thingName": "string",
"status": "string",
"maxResults": "integer",
"nextToken": "string"
}
詳細については、「list-job-executions-for-thing
」を参照してください。
AWS アカウント のジョブのリストを取得します。
- HTTPS request
GET /jobs?status=status
&targetSelection=targetSelection
&thingGroupName=thingGroupName
&thingGroupId=thingGroupId
&maxResults=maxResults
&nextToken=nextToken
詳細については、「ListJobs
」を参照してください。
- CLI syntax
aws iot list-jobs \
[--status <value>] \
[--target-selection <value>] \
[--max-results <value>] \
[--next-token <value>] \
[--thing-group-name <value>] \
[--thing-group-id <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"status": "string",
"targetSelection": "string",
"maxResults": "integer",
"nextToken": "string",
"thingGroupName": "string",
"thingGroupId": "string"
}
詳細については、「list-jobs
」を参照してください。
指定されたジョブのサポート対象フィールドを更新する。timeoutConfig
の更新された値は、新しく進行中の起動に対してのみ有効になります。現在、進行中の起動は、以前のタイムアウト設定で引き続き起動します。
- HTTPS request
PATCH /jobs/jobId
{
"description": "string",
"presignedUrlConfig": {
"expiresInSec": number,
"roleArn": "string"
},
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": number,
"incrementFactor": number,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": number,
"numberOfSucceededThings": number
},
"maximumPerMinute": number
},
"abortConfig": {
"criteriaList": [
{
"action": "string",
"failureType": "string",
"minNumberOfExecutedThings": number,
"thresholdPercentage": number
}
]
},
"timeoutConfig": {
"inProgressTimeoutInMinutes": number
}
}
詳細については、「UpdateJob
」を参照してください。
- CLI syntax
-
aws iot update-job \
--job-id <value> \
[--description <value>] \
[--presigned-url-config <value>] \
[--job-executions-rollout-config <value>] \
[--abort-config <value>] \
[--timeout-config <value>] \
[--cli-input-json <value>] \
[--generate-cli-skeleton]
cli-input-json
形式:
{
"description": "string",
"presignedUrlConfig": {
"expiresInSec": number,
"roleArn": "string"
},
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": number,
"incrementFactor": number,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": number,
"numberOfSucceededThings": number
}
},
"maximumPerMinute": number
},
"abortConfig": {
"criteriaList": [
{
"action": "string",
"failureType": "string",
"minNumberOfExecutedThings": number,
"thresholdPercentage": number
}
]
},
"timeoutConfig": {
"inProgressTimeoutInMinutes": number
}
}
詳細については、「update-job
」を参照してください。