本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS IoT 任務API可用於下列任一類別:
-
管理任務,例如任務的管理和控制。這是控制平面。
-
實施這些任務的裝置。這是資料平面,可讓您傳送和接收資料。
任務管理和控制使用HTTPS通訊協定 API。裝置可以使用 MQTT或 HTTPS通訊協定 API。控制平面API專為在建立和追蹤任務時一般的少量呼叫而設計。其通常會為單一請求開啟連線,並在接收到回應之後關閉連線。資料平面HTTPS並MQTTAPI允許長輪詢。這些API操作專為大量流量而設計,可以擴展到數百萬個裝置。
每個 AWS IoT 任務HTTPSAPI都有對應的命令,可讓您API從 AWS Command Line Interface () 呼叫AWS CLI。命令為小寫,在組成 名稱的字詞之間具有連字號API。例如,您可以輸入CLI以下項目,在 CreateJob
API上叫用 :
aws iot create-job ...
如果操作期間發生錯誤,您會收到包含錯誤相關資訊的錯誤回應。
包含在 AWS IoT 任務服務操作期間所發生的錯誤資訊。
以下範例顯示此操作的語法:
{
"code": "ErrorCode",
"message": "string",
"clientToken": "string",
"timestamp": timestamp,
"executionState": JobExecutionState
}
以下是 ErrorResponse
的說明:
code
-
ErrorCode 可以設定為:
- InvalidTopic
-
請求已傳送至 AWS IoT 任務命名空間中未對應至任何API操作的主題。
- InvalidJson
-
請求的內容無法解譯為有效的 UTF-8 編碼 JSON。
- InvalidRequest
-
請求的內容無效。例如,當
UpdateJobExecution
請求包含了無效的狀態詳細資訊,此代碼就會傳回。訊息包含錯誤的詳細資訊。 - InvalidStateTransition
-
已嘗試更新,將任務執行變更為由於任務執行目前狀態而無效的狀態。例如,嘗試將狀態為 的請求變更為SUCCEEDED狀態 IN_PROGRESS。在此情況下,錯誤訊息的本文也會包含
executionState
欄位。 - ResourceNotFound
-
請求主題指定的
JobExecution
不存在。 - VersionMismatch
-
請求中指定的預期版本與任務服務中 AWS IoT 任務執行的版本不相符。在此情況下,錯誤訊息的本文也會包含
executionState
欄位。 - InternalError
-
處理請求時發生內部錯誤。
- RequestThrottled
-
請求受到調節。
- TerminalStateReached
-
在處於結束狀態的任務上執行描述任務的命令時發生。
message
-
錯誤訊息字串。
clientToken
-
用於將請求與回覆建立關聯的任意字串。
timestamp
-
Epoch 時間,以秒為單位。
executionState
-
JobExecutionState
物件。只有當code
欄位有InvalidStateTransition
或VersionMismatch
值,此欄位才會包含在內。在這些情況下,就不必另外執行DescribeJobExecution
請求以獲得任務執行狀態資料。