Azure IoT Hub Device Provisioning Service のトラブルシューティング
IoT デバイスのプロビジョニングの問題は、構成証明のエラーや登録のエラーなど、考えられる障害点が多数あるため、トラブルシューティングが難しい場合があります。DPS での Azure Monitor の使用について詳しくは、「Azure IoT Hub Device Provisioning Service を監視する」を参照してください。
一般的なエラー コード
この表を参照して、一般的なエラーを理解し、解決してください。
エラー コード | 説明 | HTTP 状態コード |
---|---|---|
400 | 要求の本文が有効ではありません (解析できない、オブジェクトを検証できない、など)。 | 400 形式が正しくありません |
401 | 承認トークンを検証できません (有効期限が切れている、要求の URI に該当しない、など)。 また、このエラー コードは、TPM 構成証明フローの過程でデバイスに返されます。 | 401 権限がありません |
404 | Device Provisioning Service インスタンスまたはリソース (登録など) が存在しません。 | 404 見つかりません |
405 | クライアント サービスは要求メソッドを認識しますが、ターゲット サービスはこのメソッドを認識しません。たとえば、REST 操作に登録または登録 ID パラメーターがありません | 405 Method Not Allowed |
409 | ターゲット Device Provisioning Service インスタンスの現在の状態と競合しているため、要求を完了できませんでした。たとえば、顧客は既にデータ ポイントを作成しており、同じデータ ポイントを再作成しようとしています。 | 409 競合 |
412 | 要求の ETag が、RFC7232 のとおりに、既存のリソースの ETag と一致しません。 | 412 前提条件が満たされていません |
415 | ペイロード形式がサポートされていない形式であるため、サーバーは要求の受け入れを拒否しています。 サポートされている形式については、IoT Hub Device Provisioning Service REST API に関するページを参照してください。 | 415 Unsupported Media Type |
429 | サービスによって操作がスロットルされています。 サービスの具体的な制限については、「IoT Hub Device Provisioning Service の制限」を参照してください。 | 429 要求が多すぎます |
500 | 内部エラーが発生しました。 | 500 内部サーバー エラー |
推奨されるアクション
failed to provision with IoT Hub, and no valid device backup was found dps client error
というエラー メッセージが表示されて IoT Edge デバイスを起動できない場合は、IoT Edge (1.1) ドキュメントの「DPS クライアント エラー」を参照してください。401 Unauthorized、403 Forbidden、404 Not Found エラーの場合、DPS 登録 API を呼び出して完全な再登録を実行します。
429 エラーの場合は、ランダム ジッターを伴うエクスポネンシャル バックオフがある IoT Hub の再試行パターンに従います。 SDK によって提供される retry-after ヘッダーに従うことができます。
500 シリーズのサーバー エラーの場合は、キャッシュされた資格情報またはデバイス登録状態参照 API 呼び出しを使用して接続を再試行します。
操作の再試行などの関連するベスト プラクティスについては、「大規模な IoT デバイスデプロイのベスト プラクティス」を参照してください。
次の手順
DPS での Azure Monitor の使用について詳しくは、Device Provisioning Service の監視に関する記事を参照してください。
Azure Monitor で DPS に対して出力されるメトリック、ログ、スキーマについて詳しくは、Device Provisioning Service のデータ監視のリファレンスに関する記事を参照してください。