AWS IoT 工作疑難解 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IoT 工作疑難解

這是「工作」的疑難排解 AWS IoT 區段。

如何找到 AWS IoT 工作端點?

如何找到 AWS IoT Jobs 控制平面端點?

AWS IoT 工作支援使用 HTTPS 通訊協定的控制平面 API 作業。確認您已使用 HTTPS 通訊協定連線到正確的控制平面端點。

如需 AWS 區域特定端點的清單,請參閱AWS IoT 核心-控制平面端點。

如需 FIPS 相容AWS IoT 工作控制平面端點的清單,請參閱 FIPS 端點 (依服務分類)

注意

AWS IoT 工作和 AWS IoT Core 共用相同的 AWS 區域特定端點。

如何找到 AWS IoT Jobs 資料平面端點?

AWS IoT 工作支援使用 HTTPS 和 MQTT 通訊協定的資料平面 API 作業。確認您已使用 HTTPS 或 MQTT 通訊協定連線到正確的資料平面端點。

  • 通訊協定

    • 使用下面顯示的 describe-endpointCLI 命令或DescribeEndpoint其餘 API。對於端點類型,請使用iot:Jobs

      aws iot describe-endpoint --endpoint-type iot:Jobs
  • MQTT 通訊協定

    • 使用下面顯示的 describe-endpointCLI 命令或DescribeEndpoint其餘 API。對於端點類型,請使用 iot:Data-ATS (建議) 或iot:Data

      aws iot describe-endpoint --endpoint-type iot:Data-ATS (recommended)
      aws iot describe-endpoint --endpoint-type iot:Data

如需 FIPS 相容AWS IoT 工作資料平面端點的清單,請參閱 FIPS 端點 (依服務分類)

如何監視 AWS IoT 工作活動並提供指標?

使用 Amazon 監控任 AWS IoT 務活動可 CloudWatch 讓您即時掌握進行中的任務 AWS IoT 作業,並透過 AWS IoT 規則透過 CloudWatch 警示協助控制成本。您必須先設定記錄,才能監視 AWS IoT 工作活動和設定 CloudWatch警示。如需設定記錄的詳細資訊,請參閱設定 AWS IoT 記錄

如需 Amazon 的詳細資訊,以 CloudWatch 及如何透過 IAM 使用者角色設定許可以使用 CloudWatch 資源,請參閱 Amazon 的身分和存取管理 CloudWatch

如何使用 Amazon 設置任 AWS IoT 務指標和監控 CloudWatch?

若要設定 AWS IoT 記錄,請遵循設定 AWS IoT 記錄中所述的步驟。 AWS IoT 您可以在 AWS Management Console、 AWS CLI或 API 中完成記錄設定。 AWS IoT 針對特定物件群組設定的記錄必須僅在 AWS CLI 或 API 中完成。

AWS IoT 工作測量結果段落包含用於監督「 AWS IoT 工作」活動的「 AWS IoT 工作」測量結果 它說明如何檢視和中的量 AWS Management Console 度 AWS CLI。

此外,您可以設定 CloudWatch 警示,提醒您要密切監控的特定指標。如需有關警示設定的指引,請參閱使用 Amazon CloudWatch 警示

裝置叢集與單一裝置疑難排解

工作執行會維持QUEUED無限期的狀態

當狀態為的工作執行QUEUED未進入下一個邏輯狀態 (例如IN_PROGRESS、或TIMED_OUT) 時FAILED,下列其中一個案例可能是原因:

  • CloudWatch 主控台的 CloudWatch 記錄中查看您的裝置活動。如需詳細資訊,請參閱AWS IoT 使用 CloudWatch 記錄監視

  • 與該工作相關聯的 IAM 角色以及後續任務執行可能沒有列在附加到該 IAM 角色的 IAM 政策的其中一個政策聲明中的正確許可。使用 describe-jobAPI 識別與該工作連結的 IAM 角色以及後續工作執行,並檢閱 IAM 政策以取得正確的許可。更新原則權限陳述式之後,您應該可以對資源執行 AssumeRoleAPI 命令。

未為我的物件或物件群組建立工作執行

工作將狀態狀態更新為時IN_PROGRESS,工作文件會開始向目標群組中的所有裝置推出工作文件。此狀態狀態更新將為每個目標裝置建立作業執行。如果未針對其中一個目標裝置建立工作執行,請參閱下列指南:

  • 工作是否thing直接鎖定目標,工作的狀態狀態為IN_PROGRESS,且工作為並行? 如果滿足所有三個條件,則工作仍會傳送工作執行到目標群組中的所有裝置,而該裝置尚thing未收到其工作執行。

    • 在 AWS 管理主控台中檢閱目標群組中的裝置,以瞭解工作和工作狀態狀態,或使用 describe-jobAPI 命令。

    • 使用 describe-jobAPI 命令檢閱工作的IsConcurrent屬性是否設定為 true 或 false。如需詳細資訊,請參閱 Job 限制

  • thing是工作的直接目標。

    • 如果Thing已新增至工作,ThingGroup並將工作鎖定為目標ThingGroup,請確認Thing是的一部分ThingGroup

    • 如果工作是狀態為IN_PROGRESS且且為並行的快照工作,則該工作仍會將工作執行傳送至目標群組中的所有裝置,而該裝置尚Thing未收到其工作執行。

    • 如果工作是狀態為IN_PROGRESS且為並行的連續工作,則該工作仍會將工作執行傳送至目標群組中的所有裝置,而該裝置尚Thing未收到其工作執行。僅針對連續工作,您也可以Thing從中移除,ThingGroup然後再將Thing其新增至ThingGroup

    • 如果工作是狀態為且不是IN_PROGRESS並行的快照工作,則可能是 AWS IoT 工作未確認ThingThingGroup成員資格關係。建議您在AddThingToThingGroup通話後增加幾秒鐘的等待時間,然後再創建您的Job. 或者,您可以將目標選擇切換至Continuous,以便讓服務回填延遲ThingThingGroup成員資格附件事件。

新工作因LimitedExceededException錯誤而失敗

如果您的工作建立失敗且錯誤回應為LimitedExceededException,請呼叫 list-jobs API 並檢閱所有工作,isConcurrent=true以判斷您是否達到工作並行限制。如需並行 Job 的其他資訊,請參閱工作限制。若要檢視工作並行限制並要求提高限制,請參閱AWS IoT Device Management 作業限制和配額

Job 文件大小限制

工作文件大小受 MQTT 承載大小的限制。如果您需要的任務文件大於 32 kB (KB)、32,000 B (位元組),請在 Amazon S3 中建立並存放任務文件,並在 CreateJob API 的documentSource欄位中新增 Amazon S3 物件 URL 或使用. AWS CLI對於 AWS Management Console,在建立任務時,在 Amazon S3 URL 文字方塊中新增 Amazon S3 物件 URL。

裝置端 MQTT 訊息要求節流限制

如果您收到錯誤碼 400ThrottlingException,則設備端 MQTT 消息因達到同時設備端請求的限制而失敗。請參閱AWS IoT Device Management 工作限制和配額,以取得有關節流限制及其是否可調整的詳細資訊。

連線逾時錯誤

錯誤碼 400 RequestExpired 表示連線失敗,因為高延遲或低用戶端逾時值。

無效的 API 指令

確認輸入正確的 API 命令,以避免出現指出 API 命令無效的錯誤訊息。有關所有 AWS IoT API 命令的完整列表,請參閱 AWS IoT API 參考。

服務端連接錯誤

錯誤代碼 503 ServiceUnavailable 表示錯誤源自服務器端。