Azure IoT Operationsに関する既知の問題

この記事では、Azure IoT Operationsを使用するときに発生する可能性がある現在の既知の問題の一覧を示します。 このガイダンスは、これらの問題を特定するのに役立ち、使用可能な場合は回避策を提供します。

一般的なトラブルシューティングのガイダンスについては、トラブルシューティング Azure IoT Operationsを参照してください。

MQTT ブローカーの問題

このセクションでは、MQTT ブローカーの現在の既知の問題の一覧を示します。

MQTT ブローカー リソースがAzure ポータルに表示されない


問題 ID: 4257


ログ署名: N/A


Kubernetes を使用してクラスターで作成された MQTT ブローカー リソースは、Azure ポータルには表示されません。 この結果は、kubernetes を使用したAzure IoT Operations コンポーネントの管理はデバッグとテストのみを目的としており、エッジからクラウドへのリソースの同期は現在サポートされていないためです。

現時点では、この問題の回避策はありません。

コネクタの一般的な問題

このセクションでは、すべてのコネクタに影響する現在の既知の問題の一覧を示します。

大文字のインバウンドエンドポイント名はデバイスの健康状態同期を妨げます


問題 ID: 0202


対象: Azure IoT Operations 2610 パブリック プレビュー、ONVIF 用コネクタにおいて v1.6.0-preview.57 で報告されたもの。


修正はリリース 2612 で予定されています。


ログ署名: Azure ポータルのアクティビティ ログでは、InvalidRequestContent が Microsoft.DeviceRegistry/namespaces/devices/write で失敗します:

The request body contains a duplicate JSON key '<endpoint name in lowercase>'. Each property name may appear at most once.

インバウンドエンドポイント名に大文字のデバイスを作成できますが、その後のデバイスステータス書き込みは失敗します。 設定ステータスは小文字のエンドポイント名を使用し、ランタイムステータスは元のケースを保持します。 Azureはその結果得られた重複鍵を拒否します。

運用エクスペリエンスでは、デバイスが作成され同期されたと報告される一方で、その正常性は不明のままになることがあります。 Azureではエンドポイントの実際の健康状態や接続エラーは見えません。

回避策:インバウンドエンドポイント名には小文字、数字、ハイフンを使いましょう。 既存の影響を受けたデバイスについては、設定を保存し、依存する資産やワークロードを特定し、中断に備えてから端末を削除し、小文字のエンドポイント名で再作成してください。 ステータスの書き込みが成功し、再作成後に正常性が報告されることを確認してください。

コネクタは、Azure Key Vaultでデバイス資格情報の更新プログラムを検出しない


問題 ID: 6514


N/A


リリース 2605 以降で修正済み


Azure Key Vaultに格納されているデバイス資格情報が更新されると、コネクタは通知を受け取りません。 その結果、コネクタは再起動されるまで古い資格情報を引き続き使用します。

回避策: コネクタを再起動して、Azure Key Vaultから更新された資格情報を取得するように強制します。

OPC UA のコネクタに関する問題

このセクションでは、OPC UA のコネクタに関する現在の既知の問題の一覧を示します。

イベント名に特殊文字を使用できない


問題 ID: 1532


バージョン 1.3.36 (2603) 以降で修正されました


ログ署名: 2025-10-22T14:51:59.338Z aio-opc-opc.tcp-1-68ff6d4c59-nj2s4 - Updated schema information for Boiler#1Notifier skipped!


イベント名に #、 %、 &などの特殊文字が含まれている場合、スキーマの生成は失敗します。 スキーマ生成の問題を防ぐために、イベント名でこれらの文字を使用しないでください。

OPCコネクタテンプレートが欠落しています


発行番号:1330


バージョン1.4.73(2608)以降で修正


ログ署名: N/A


Azure IoT Operations インスタンス展開はデフォルトで OPC ConnectorTemplate をインストールするべきです。 デプロイ後、コネクターテンプレートはAzureポータルから欠落し、ConnectorTemplateリソースもクラスタに存在しません。

メディア用コネクタと ONVIF 用コネクタの問題

このセクションでは、メディア用コネクタと ONVIF 用コネクタに関する現在の既知の問題の一覧を示します。

ContinuousMoveはカメラを動かさずに成功を報告します


問題 ID: 0205


対象: Azure IoT Operations パブリック プレビューで使用されるプリプロダクション運用エクスペリエンス。 運用エクスペリエンスへの影響はまだ確認されていません。


修正はリリース 2612 で予定されています。


ログ署名: PTZ>ContinuousMove アクションが空の結果で Succeeded を返します:

{"Result": {}}

実行フォームには Zoom>X が必要ですが、 Velocity.Zoom はアクションのリクエストスキーマ上で任意です。 光学ズーム機能のない影響を受けたパンチルトカメラでは、フォームを送信すると成功と表示されるが、カメラは動きません。

回避策: >を含みContinuousMoveを省いたペイロードで、Azure Resource Manager PTZを通じて資産のPanTiltZoomexecuteActionアクションを呼び出します。 例えば、以下のリクエストボディを使用し、 <media-profile-token> をカメラの Media>GetProfiles アクションで返されるトークンに置き換えます。

{
  "managementGroupName": "PTZ",
  "managementActionName": "ContinuousMove",
  "payload": {
    "ContinuousMove": {
      "ProfileToken": "<media-profile-token>",
      "Velocity": {
        "PanTilt": {
          "x": 0.3,
          "y": 0
        }
      },
      "Timeout": "PT1S"
    }
  }
}

payloadjsonでエンコードされた文字列ではなく、JSONオブジェクトとして送信してください。 カメラでサポートされた動き値を使い、 PTZ>GetStatusで結果を確認します。空の成功結果だけでは動きが確定しません。

メディアディスカバリーが発見されたデバイスエンドポイントの上限を超えています


問題 ID: 5382


対象: Azure IoT Operations 2610 パブリック プレビュー、connector for ONVIF v1.6.5 を使用した v1.6.0-preview.57 で報告。


修正はリリース2612で予定されています。


ログ署名: Azure ポータルのアクティビティ ログでは、InvalidRequestContent が Microsoft.DeviceRegistry/namespaces/discoveredDevices/write で失敗し、properties.endpoints.inbound を対象とする MaxProperties:

The object must not contain more than 10 properties.

ONVIFのコネクタは、メディアプロファイルごとに複数のトランスポート用のメディアエンドポイントを生成します。 Azureデバイスレジストリは、受信エンドポイントが10を超える発見済みデバイスを却下します。 3つのメディアプロファイルを持つカメラはこの制限を超えることがあります。

カメラのONVIFエンドポイントは「利用可能」と報告でき、発見されたONVIFの資産は表示できますが、そのメディアエンドポイントを含む発見されたデバイスはAzureには表示されません。 これらのエンドポイントをインポートしてメディアコネクタをディスカバリーで設定することはできません。

回避策:メーカーのドキュメントにあるカメラのRTSPストリームURL(rtsp://<camera-ip>:554/<stream-path>など)を使って、Microsoft.Mediaインバウンドエンドポイントを持つデバイスを手動で作成します。 サポートされているシークレット参照を通じて認証情報を設定し、必要なメディアアセットとスナップショットまたはクリップストリームを作成します。 「 メディアのコネクタ構成」を参照してください。

シークレット同期の競合


問題 ID: 0606


ログ署名: N/A


シークレット同期を使用する場合は、シークレット名がグローバルに一意になるようにします。 同じ名前のローカル シークレットが存在する場合、コネクタは目的のシークレットの取得に失敗する可能性があります。

MQTT 用コネクタの問題

更新中の MQTT コネクタ テンプレートのバージョンの不一致


問題 ID: 1533


ログ署名: N/A


リリース2606以降で修正済み


バージョン 2605 に更新すると、既存の MQTT コネクタ テンプレートに、一致しないメタデータ バージョンがポータルに表示されることがあります。 解決するには、コネクタ テンプレートを削除して再作成します。 または、Azure CLIを使用してコネクタを更新します。

MQTT コネクタがプライベート IP アドレスを持つ外部 MQTT ブローカーに接続できない


問題 ID: 7791


ログ署名: N/A


リリース2607以降で修正


リリース2605以降、MQTTコネクタはプライベートIPアドレスを使用する外部MQTTブローカーに接続できません。

データ フローの問題

このセクションでは、データ フローに関する現在の既知の問題の一覧を示します。

ACRレジストリエンドポイントのオーディエンスミスマッチによりアップグレードが失敗します


問題 ID: 3245


ログ署名: N/A


Azure IoT Operationsのアップグレードは、データフローグラフが明示的に設定されたAzure Resource Manager(ARM)オーディエンスまたはスコープを持つAzure Container Registry(ACR)レジストリエンドポイントを使用している場合、失敗しロールバックする可能性があります。 以前のドキュメントの例ではARMオーディエンスが使われていたため、アップグレード前に動作していた既存構成が影響を受ける可能性があります。

Dataflowsオペレーターは、以下のようなオーディエンスミスマッチエラーをログに記録します。

audience 'https://management.azure.com/' does not match the expected audience 'https://containerregistry.azure.net'

回避策:アップグレードを再試す前に、既存のレジストリエンドポイントのAzureリソースをAzure Resource Managerで更新してください:

  • システム割り当てのマネージドID認証では、properties.authentication.systemAssignedManagedIdentitySettings.audienceをhttps://management.azure.com/からhttps://containerregistry.azure.netに変更してください。
  • ユーザー割り当てのマネージド ID 認証では、properties.authentication.userAssignedManagedIdentitySettings.scope を https://management.azure.com/.default から https://containerregistry.azure.net/.default に変更してください。

他のレジストリエンドポイントのプロパティや認証設定は保持してください。 ローカルデプロイファイルを変更したり、updateコマンドの引数を省略するのではなく、既存のリソースを更新してください。 Azureリソースとその対応するクラスタ構成が新しい値を反映したら、アップグレードを再度試行してください。

レジストリエンドポイントの設定例については、「レジストリエンドポイントの設定」を参照してください。

Operations Experience Web UIは、Azure Container Registry(ACR)および mcr.microsoft.com から得られたデータフローグラフのアーティファクトのみを表示します


発行番号:8895


ログ署名: N/A


たとえGHCRのような非ACRコンテナレジストリ向けにコンテナレジストリエンドポイントを設定しても:

  • 非ACRレジストリのデータフローグラフのアーティファクトはOperations ExperienceのWebUIには表示されないため、それらを使うデータフローグラフを作成することはできません。

  • 非ACRレジストリの要素を含むOperations Experience Web UIのデータフローグラフリストから選択すると、次のようなエラーが発生します。 Can't load data flow graph. The contents of this data flow graph are unavailable. Please ensure that it still exists, then work with your administrator to get 'AcrPull' access to required registry endpoints.

回避策:選択肢は2つあります:

  • 運用体験UIを使わない場合は、Azure CLIを使ってJSONやBicepファイルで定義された非ACRレジストリからのアーティファクトを含むデータフローグラフに対してCRUD操作を行います。

  • Operations Experience Web UIを使いたい場合は、非ACRレジストリからデータフローのアーティファクトやグラフをACRレジストリにインポートしてください。 詳しくは「 レジストリへのプッシュモジュール」をご覧ください。

Kubernetesで作成されたデータフローリソースは、オペレーションエクスペリエンスのウェブUIには表示されません


問題 ID: 8724


ログ署名: N/A


Kubernetes を使用してクラスターで作成されたデータ フロー カスタム リソースは、操作エクスペリエンス Web UI には表示されません。 この結果は、kubernetes を使用したAzure IoT Operations コンポーネントの管理はデバッグとテストのみを目的としており、エッジからクラウドへのリソースの同期は現在サポートされていないためです。

現時点では、この問題の回避策はありません。

チェーンされたグラフ シナリオで同じグラフ定義を複数回使用できない


問題 ID: 1352


バージョン 1.3.36 (2603) 以降で修正されました


構成の送信に失敗しました


1 つのデータ フロー グラフの出力を別のデータ フロー グラフへの入力として使用して、チェーン グラフ シナリオを作成します。 ただし、このシナリオで同じグラフ定義を複数回使用しようとすると、現在は想定どおりに機能しません。 たとえば、次のコードは、graph-passthrough:1.3.6とgraph-1の両方に同じグラフ定義 (graph-2) を使用すると失敗します。

      {
          nodeType: 'Graph'
          name: 'graph-1'
          graphSettings: {
            registryEndpointRef: dataflowRegistryEndpoint.name
            artifact: 'graph-passthrough:1.3.6'
            configuration: []
            }
      }
      {
          nodeType: 'Graph'
          name: 'graph-2'
          graphSettings: {
            registryEndpointRef: dataflowRegistryEndpoint.name
            artifact: 'graph-passthrough:1.3.6'
            configuration: graphConfiguration
            }
      }
  nodeConnections: [
      {
          from: {name: 'source'}
          to: {name: 'graph-1'}
      }
      {
          from: {name: 'graph-1'}
          to: {name: 'graph-2'}
      }
      {
          from: {name: 'graph-2'}
          to: {name: 'destination'}
      }
  ]

このエラーを解決するには、毎回異なる名前またはタグを使用して、必要な回数ずつグラフ定義を ACR にプッシュします。 たとえば、説明したシナリオでは、グラフ定義を別の名前または別のタグ ( graph-passthrough-one:1.3.6 や graph-passthrough-two:1.3.6など) で 2 回プッシュする必要があります。

エッジレジストリの問題

このセクションではエッジレジストリに関する現在の既知の問題をリストアップしています。

ユーザー割り当てのID設定では、間違ったレジストリサービスアカウントが使われています


問題 ID: 3467


対象:Azure IoT Operations 2610 パブリックプレビュー。 v1.6.0-preview.57で報告されました。CLIの不一致はCLI拡張v2.11.2にも存在し、そのプレビュー展開プロファイルはv1.6.0-preview.60を使用しています。


修正はリリース2612で予定されています。


ログ署名: N/A


影響を受けたプレビュー インスタンスで az iot ops identity assign --usage schema を実行すると、CLI はサブジェクト system:serviceaccount:azure-iot-operations:adr-schema-registry を持つフェデレーテッド認証情報を作成します。 プレビューエッジレジストリはサービスアカウント aio-edge-registryとして動作するため、認証情報はワークロードと一致しません。

エッジレジストリのサービスアカウントに一致するフェデレーテッド認証情報がなくても、コマンドは成功を報告できます。 レジストリは既存のシステム割り当て ID を引き続き使用できるため、構成の不一致が覆い隠されてしまう可能性があります。

対処法:

  1. エッジ レジストリ用のユーザー割り当てマネージド ID に、次の値でフェデレーション資格情報を追加します:
    • 発行者: 接続されたクラスターのOIDC発行者URLです。
    • サブジェクト:system:serviceaccount:azure-iot-operations:aio-edge-registry デフォルトの名前空間の。 別の名前空間を使用する場合は、実際の名前空間に置き換えてください。
    • 対象読者:api://AzureADTokenExchange。
  2. 認証情報がエッジレジストリポッドで使用されているサービスアカウントと一致しているか確認してください。 プレビューレジストリを再起動する必要がある場合、その StatefulSet は aio-edge-registry であり、adr-schema-registry ではありません。

この認証情報を追加することで信頼関係の不一致は解消されますが、実行中のレジストリがアイデンティティの変更を反映することについては、現在、別途調査中です。 認証情報を追加しても、レジストリのIDが切り替わったとは限りません。 複数のユーザー割り当てIDの中から選択することも調査中です。

管理アクションの問題

このセクションでは、管理アクションに関する現在の既知の問題を一覧にしています。

管理アクションが有効になった直後にイベント グリッドのサブスクリプションがすぐに準備ができていません


問題 ID: 0208


適用対象:Azure IoT Operations 2610 パブリックプレビューのCLI extension v2.11.0、v1.6.0-preview.57で報告。


修正は2612年リリース時に予定されています。


ログ署名: データフローポッドはサブスクリプションの失敗を記録し、Event Grid の名前空間メトリックMqtt.FailedSubscriptionOperationsはError=AuthorizationErrorを報告します。


az iot ops mgmt-actions enableコマンドは、Event Grid TopicSpaces の Publisher ロールと Subscriber ロールを割り当てる前に、リクエスト データ フロー グラフを作成します。 グラフは認可される前に購読を試みることができます。 バックオフで再試行し、CLIが成功を報告した後も一時的に認証失敗が続くことがあります。

管理アクションはリクエストグラフのサブスクリプションが成功するまでエッジに到達しない場合があります。

回避策: az iot ops mgmt-actions enable が戻ってから約1分待ってから最初のアクションを送信します。 リクエストグラフのログを確認して、サブスクリプションが成功しているか確認してください。 認証失敗が続く場合は、必要なロール割り当てを確認し、ロールが伝播されるまで追加で時間を置いてください。 実行結果が不明な非冪等なアクションを自動的に繰り返してはいけません。

連邦アイデンティティの問題

このセクションでは、連邦アイデンティティに関する現在の既知の問題点を一覧にしています。

連合ID認証発行者の不一致は秘密同期認証失敗を引き起こすことがあります


発行番号:1190


リリース2607以降で修正


ログ署名:類似 AADSTS700211: No matching federated identity record found for presented assertion issuer 'https://northamerica.oic.prod-arc.azure.com/1f5f7baf-633d-4eb5-9be1-8cf1e9c6fcc9/f512e8f6-0c47-48a1-91f3-aeb5422dd766'. Please check your federated identity credential Subject, Audience and Issuer against the presented assertion.


Azure IoT Operations で、Azure Key Vault からシークレットを取得する際に 401 Unauthorized エラーが発生する。

根本原因:このエラーは、Federated ID認証発行者のURLがKubernetesサービスアカウントトークン内の発行者(ISS)の主張と一致しないためです。

az iot ops secretsync enableコマンドがユーザー割り当ての管理ID上でフェデレーテッドID(FIC)を作成すると、Azure IoT OperationsがAzure Key Vaultアクセスするために使うもので、FIC発行者のURLをクラスターのOIDC発行者URLに設定します。 一部のデプロイでは、この URL には末尾のスラッシュ('/')が含まれますが、クラスタによって発行されたサービスアカウントトークンの iss(発行者)クレームではそれが省略されています。

この問題は秘密取得中のトークン交換に影響を与えるため、通常は az iot ops secretsync enableを実行しても失敗は起こりません。 代わりに、Azure IoT Operationsが秘密にアクセスしようとした際に問題が浮上し、根本原因の特定が困難になることがあります。

回避策:Federated ID認証情報に設定されている発行者のURLがスラッシュで終わっていないか確認してください。 もしそうなったら、フェデレーテッドID認証情報を更新して後尾のスラッシュを削除してください。

Azure CLI az identity federated-credentialsコマンドを使って、Federated Identity Credential発行者の値を表示し、必要に応じて更新できます。例えば:

az identity federated-credential show --name <fic-name> --identity-name <managed-identity-name> --resource-group <resource-group-name>

az identity federated-credential update --name <fic-name> --identity-name <managed-identity-name> --resource-group <resource-group> --issuer <new-issuer-url-without-trailing-slash>

ベストプラクティスとして、 az iot ops secretsync enable コマンドを実行した後にセットアップ時にこの検証を行い、後で診断が難しい認証失敗を回避できます。

モデルコンテキストプロトコル(MCP)の問題点

このセクションでは、MCPに関する現在の既知の問題点を一覧にしています。

顧客管理の証明書での展開はMCPを有効にすると失敗します


問題 ID: 3314


対象:Azure IoT Operations 2610 パブリックプレビュー。


修正はリリース 2612 時に予定されています。


ログ署名: N/A


独自の証明書発行者を使用する場合、MCP を有効にすると Azure IoT Operations のデプロイは失敗します。 MCPのコンポーネントは、設定済みリソースではなく、デフォルトの証明書発行者やトラストバンドルを参照します。

回避策: 顧客管理の証明書で他のAzure IoT Operations機能を評価するには、展開設定でfeatures.mcp.modeをDisabledに明示的に設定し、展開する前に。 MCPはデフォルトで有効です。 設定についてはMCPを無効にするをご覧ください。