次の方法で共有


MQTT データフロー エンドポイントを構成する

重要

このページには、プレビュー段階にある Kubernetes デプロイ マニフェストを使用して Azure IoT Operations コンポーネントを管理する手順が含まれます。 この機能はいくつかの制限を設けて提供されており、運用環境のワークロードには使用しないでください。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

MQTT データフロー エンドポイントは、MQTT の送信元と送信先に使われます。 エンドポイントの設定、トランスポート層セキュリティ (TLS)、認証、その他の設定を構成できます。

前提条件

Azure IoT Operations ローカル MQTT ブローカー

Azure IoT Operations で提供されている組み込みのローカル MQTT ブローカーをデータフローで使用できます。 MQTT ブローカーは、他のシステムからメッセージを受信するソースとして、または他のシステムにメッセージを送信する宛先として使用できます。

既定のエンドポイント

Azure IoT Operations をデプロイすると、"default" という名前の MQTT ブローカー データフロー エンドポイントが既定の設定で作成されます。 このエンドポイントを、データフローの送信元または送信先として使用できます。

重要

すべてのデータフローで、既定のエンドポイント、または同じ設定のエンドポイントを使用する必要があります。 ソース、ターゲット、またはそれら両方を指定できます。 詳細については、「データフローではローカル MQTT ブローカー エンドポイントの使用が必須」を参照してください。

既定のエンドポイントでは、次の設定が使用されます。

注意事項

既定のエンドポイントは削除しないでください。 既定のエンドポイントを削除した場合は、同じ設定を使用して再作成する必要があります。

既定の MQTT ブローカー エンドポイント設定を表示または編集するには、以下を行います。

  1. 操作エクスペリエンスで、[データフロー エンドポイント] を選択します。

  2. 既定のエンドポイントを選択して、設定を表示または編集します。

    操作エクスペリエンスを使用して既定の MQTT データフロー エンドポイントを表示しているスクリーンショット。

新しいエンドポイントを作成する

カスタム設定を使って、新しいローカル MQTT ブローカー エンドポイントを作成することもできます。 たとえば、異なるポート、認証、または認可の設定を使って、新しい MQTT ブローカー エンドポイントを作成できます。 ただし、新しいエンドポイントを作成する場合でも、常にすべてのデータフローで既定のエンドポイントをソースまたは宛先として使用する必要があります。

  1. 操作エクスペリエンスで、[データフロー エンドポイント] を選択します。

  2. [新しいデータフロー エンドポイントの作成] で、[Azure IoT Operations ローカル MQTT]>[新規] を選びます。

    操作エクスペリエンスを使って新しいローカル MQTT データフロー エンドポイントを作成しているスクリーンショット。

    エンドポイントに関する次の設定を入力します。

    設定 内容
    Name データフロー エンドポイントの名前。
    Host MQTT ブローカーのホスト名とポート。 <hostname>:<port> という形式を使用します
    認証方法 認証に使用する方式。 サービス アカウント トークンまたは X509 証明書を選択する
    サービス対象ユーザー サービス アカウント トークンの対象ユーザー。 サービス アカウント トークンを使用する場合に必要です。
    X509 クライアント証明書 認証に使用する X.509 クライアント証明書。 "X509 証明書" を使う場合に必要です。
    X509 クライアント キー X.509 クライアント証明書に対応する秘密キー。 "X509 証明書" を使う場合に必要です。
    X509 中間証明書 X.509 クライアント証明書チェーンの中間証明書。 "X509 証明書" を使う場合に必要です。

Azure Event Grid

Azure IoT Operations データフローで動作するフル マネージド MQTT ブローカーが Azure Event Grid で提供されています。 Azure Event Grid MQTT ブローカー エンドポイントを構成するには、認証にマネージド ID を使うことをお勧めします。

Event Grid 名前空間を構成する

まだ行っていない場合は、まず Event Grid 名前空間を作成します

MQTT を有効にする

Event Grid 名前空間を作成したら、[構成] に移動し、次のことを確認します。

  • MQTT を有効にする: チェック ボックスをオンにします。
  • 認証名あたりの最大クライアント セッション数: 3 以上に設定します。

最大クライアント セッション オプションは、データフローがスケールアップしても接続できるようにするために重要です。 詳細については、Event Grid MQTT マルチセッションのサポートに関するページを参照してください。

トピック空間を作成する

データフローが Event Grid MQTT ブローカーにメッセージを送受信するには、Event Grid 名前空間に少なくとも 1 つのトピック空間を作成する必要があります。 Event Grid 名前空間にトピック空間を作成するには、[トピック空間]>[新しいトピック空間] を選択します。

すぐに開始してテストするために、トピック テンプレートとしてワイルドカード トピック # を使用してトピック空間を作成できます。

マネージド ID にアクセス許可を割り当てる

Event Grid MQTT ブローカーのデータフロー エンドポイントを構成するには、ユーザー割り当てマネージド ID またはシステム割り当てマネージド ID のいずれかを使用することをお勧めします。 この方法は安全であり、認証情報を手動で管理する必要がありません。

トピック空間が作成されたら、Event Grid MQTT ブローカーとの間でメッセージを送受信するためのアクセス許可を付与するロールを、Azure IoT Operations マネージド ID に割り当てる必要があります。

システム割り当てマネージド ID を使用する場合は、Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。 Azure IoT Operations Arc 拡張機能の後一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7。 システム割り当てマネージド ID を見つけるには、Azure IoT Operations Arc 拡張機能の名前と同じものを使用します。

次に、Event Grid 名前空間 >[アクセス制御 (IAM)]>[ロールの割り当ての追加] に移動します。

  1. [ロール] タブで、EventGrid TopicSpaces PublisherEventGrid TopicSpaces Subscriber などの適切なロールを選択します。 これにより、名前空間内のすべてのトピック空間のメッセージを送受信するために必要なアクセス許可がマネージド ID に付与されます。 詳細については、MQTT メッセージを発行またはサブスクライブするための Microsoft Entra JWT 認証と Azure RBAC 認可に関する記事をご覧ください。
  2. [メンバー] タブで次の操作を行います。
    1. システム割り当てマネージド ID を使用している場合、[アクセスの割り当て先][ユーザー、グループ、またはサービス プリンシパル] オプションを選択し、[+ メンバーの選択] を選択して、Azure IoT Operations Arc 拡張機能の名前を検索します。
    2. ユーザー割り当てマネージド ID を使用している場合、[アクセスの割り当て先][マネージド ID] オプションを選択し、[+ メンバーの選択] を選択して、クラウド接続用に設定されたユーザー割り当てマネージド ID を検索します。

または、トピック空間レベルでロールを割り当てることもできます。 >[アクセス制御 (IAM)]>[ロールの割り当ての追加] に移動します。 EventGrid TopicSpaces PublisherEventGrid TopicSpaces Subscriber などの適切なロールを持つマネージド ID を割り当てます。 これにより、特定のトピック空間のメッセージを送受信するために必要なアクセス許可がマネージド ID に付与されます。

Event Grid MQTT ブローカーのデータフロー エンドポイントを作成する

Event Grid 名前空間を構成したら、Event Grid MQTT ブローカーのデータフロー エンドポイントを作成できます。

  1. 操作エクスペリエンスで、[データフロー エンドポイント] タブを選択します。

  2. [新しいデータフロー エンドポイントの作成] で、[Azure Event Grid MQTT]>[新規] を選びます。

    操作エクスペリエンス ポータルを使って Azure Event Grid エンドポイントを作成しているスクリーンショット。

    エンドポイントに関する次の設定を入力します。

    設定 内容
    Name データフロー エンドポイントの名前。
    Host Event Grid MQTT ブローカーのホスト名とポート。 <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883 という形式を使用します
    認証方法 認証に使用する方式。 "システム割り当てマネージド ID" または "ユーザー割り当てマネージド ID" を選択することをお勧めします。
  3. [適用] を選択してエンドポイントをプロビジョニングします。

エンドポイントが作成されたら、それをデータフローで使って、送信元または送信先としての Event Grid MQTT ブローカーに接続できます。 MQTT トピックは、データフローで構成されます。

Event Grid で X.509 証明書認証を使用する

Event Grid MQTT ブローカーで X.509 認証を使用する場合は、[Event Grid 名前空間] >[構成] に移動し、次の設定を確認します。

  • MQTT を有効にする: チェック ボックスをオンにします。
  • 代替クライアント認証名ソースを有効にする: チェック ボックスをオンにします。
  • 証明書のサブジェクト名: ドロップダウン リストでこのオプションを選択します。
  • 認証名あたりの最大クライアント セッション数: 3 以上に設定します。

代替クライアント認証オプションと最大クライアント セッション数オプションを使用すると、データフローでは、MQTT CONNECT Username の代わりにクライアント証明書のサブジェクト名を認証に使用できます。 この機能は、データフローが複数のインスタンスを生成して接続を維持できるようにするために重要です。 詳細については、「Event Grid MQTT クライアント証明書認証」および「マルチセッションのサポート」を参照してください。

次に、X.509 証明書の手順に従って、X.509 証明書の設定でエンドポイントを構成します。

Event Grid の共有サブスクリプションの制限

Azure Event Grid MQTT ブローカーでは共有サブスクリプションはサポートされていません。つまり、Event Grid がデータフローのソース (データフローがメッセージをサブスクライブする場所) として使用されている場合、データフロー プロファイルで instanceCount1 より大きく設定することはできません。 この場合、instanceCount1 より大きい値に設定すると、データフローの開始に失敗します。

カスタム MQTT ブローカー

その他の MQTT ブローカーの場合は、必要に応じてエンドポイント、TLS、認証、その他の設定を構成できます。

  1. 操作エクスペリエンスで、[データフロー エンドポイント] タブを選択します。

  2. [新しいデータフロー エンドポイントの作成] で、[カスタム MQTT ブローカー]>[新規] を選びます。

    操作エクスペリエンスを使ってカスタム MQTT ブローカー エンドポイントを作成しているスクリーンショット。

  3. エンドポイントに関する次の設定を入力します。

    設定 内容
    Name データフロー エンドポイントの名前
    Host <hostname>.<port> 形式での MQTT ブローカー エンドポイントのホスト名。
    認証方法 認証に使用する方式。 "サービス アカウント トークン" または "X509 証明書" を選択します。
    サービス対象ユーザー サービス アカウント トークンの対象ユーザー。 サービス アカウント トークンを使用する場合に必要です。
    X509 クライアント証明書 認証に使用する X.509 クライアント証明書。 "X509 証明書" を使う場合に必要です。
    X509 クライアント キー X.509 クライアント証明書に対応する秘密キー。 "X509 証明書" を使う場合に必要です。
    X509 中間証明書 X.509 クライアント証明書チェーンの中間証明書。 "X509 証明書" を使う場合に必要です。
  4. [適用] を選択してエンドポイントをプロビジョニングします。

MQTT エンドポイントの設定のカスタマイズについて詳しくは、以降のセクションを参照してください。

使用可能な認証方法

MQTT ブローカー データフローのエンドポイントでは、次の認証方法を使用できます。

システム割り当てマネージド ID

データフロー エンドポイントを構成する前に、MQTT ブローカーに接続するためのアクセス許可を付与するロールを Azure IoT Operations マネージド ID に割り当てます。

  1. Azure portal で、Azure IoT Operations インスタンスに移動し、[概要] を選択します。
  2. Azure IoT Operations Arc 拡張機能の後一覧表示されている拡張機能の名前をコピーします。 たとえば、azure-iot-operations-xxxx7
  3. アクセス許可を付与する必要があるクラウド リソースに移動します。 たとえば、[Event Grid 名前空間] >[アクセス制御 (IAM)]>[ロールの割り当てを追加] に移動します。
  4. [ロール] タブで、適切なロールを選択します。
  5. [メンバー] タブの [アクセスの割り当て先][ユーザー、グループ、またはサービス プリンシパル] オプションを選択し、[+ メンバーの選択] を選択して、Azure IoT Operations マネージド ID を検索します。 たとえば、azure-iot-operations-xxxx7

次に、システム割り当てマネージド ID の設定を使ってデータフロー エンドポイントを構成します。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[システム割り当てマネージド ID] を選択します。

Event Grid と共に使うとき、ほとんどの場合は、示されているように設定を空のままにできます。 これにより、マネージド ID の対象ユーザーが、Event Grid の一般的な対象ユーザー https://eventgrid.azure.net に設定されます。 別の対象ユーザーを設定する必要がある場合は、設定で指定できます。

サポートされていません。

ユーザー割り当てマネージド ID

認証にユーザー割り当てマネージド ID を使用するには、まず、セキュリティで保護された設定を有効にして Azure IoT Operations をデプロイする必要があります。 次に、クラウド接続用にユーザー割り当てマネージド ID を設定する必要があります。 詳細については、Azure IoT Operations デプロイでの安全な設定の有効化に関するページを参照してください。

データフロー エンドポイントを構成する前に、MQTT ブローカーに接続するためのアクセス許可を付与するロールをユーザー割り当てマネージド ID に割り当てます。

  1. Azure portal で、アクセス許可を付与する必要があるクラウド リソースに移動します。 たとえば、Event Grid 名前空間 >[アクセス制御 (IAM)]>[ロールの割り当ての追加] に移動します。
  2. [ロール] タブで、適切なロールを選択します。
  3. [メンバー] タブの [アクセスの割り当て先][マネージド ID] オプションを選択し、[+ メンバーの選択] を選択して、ユーザー割り当てマネージド ID を検索します。

次に、ユーザー割り当てマネージド ID の設定を使ってデータフロー エンドポイントを構成します。

Operations Experience のデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[ユーザー割り当てマネージド ID] を選択します。

ここでは、スコープは省略可能であり、既定値の https://eventgrid.azure.net/.default はすべての Azure Event Grid 名前空間に対して機能します。 別のスコープを設定する必要がある場合は、Bicep または Kubernetes を介して設定の中で指定できます。

Kubernetes サービス アカウント トークン (SAT)

認証に Kubernetes サービス アカウント トークン (SAT) を使う場合は、シークレットを作成する必要はありません。 SAT は、オーディエンスを照合するという方法での MQTT ブローカーでの認証に使われます。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[サービス アカウント トークン] を選択します。

サービスの対象ユーザーを入力します。

X.509 証明書

Event Grid などの多くの MQTT ブローカーでは、X.509 認証がサポートされています。 データフローでは、クライアント X.509 証明書を提示して、TLS 通信をネゴシエートすることができます。

証明書と秘密キーは、PEM 形式であること、パスワードで保護されていないことが必要です。

ヒント

PEM 形式は、証明書とキーの一般的な形式です。 PEM 形式の証明書とキーは、base64 でエンコードされた ASCII ファイルであり、-----BEGIN CERTIFICATE----------BEGIN EC PRIVATE KEY---- などのヘッダーがあります。

証明書が別の形式であっても、OpenSSL を使用して PEM 形式に変換できます。 詳細については、証明書を適切な形式に変換する方法を参照してください。

データフロー エンドポイントを構成する前に、証明書と秘密キーを使用したシークレットを作成します。

  • 操作ポータルを使用すると、シークレットが自動的にフォーマットされ、Kubernetes クラスターに同期されます。

  • Bicep または Kubernetes を使用する場合は、MQTT データフロー エンドポイントと同じ名前空間に、証明書と秘密キーを使用してシークレットを手動で作成します。

    kubectl create secret generic <X509_SECRET_NAME> -n azure-iot-operations --from-file=client_cert.pem=<CLIENT_CERT_FILE>.pem --from-file=client_key.pem=<PRIVATE_KEY_FILE>.pem --from-file=client_intermediate_certs.pem=<INTERMEDIATE_CERT_FILE>.pem
    

    ここでは、シークレットには、証明書と秘密キーのキー名として client_cert.pemclient_key.pem が必要です。 必要に応じて、シークレットには、中間証明書のキー名として client_intermediate_certs.pem を使用することもできます。

重要

操作エクスペリエンス ポータルを使用してシークレットを管理するには、まず、安全な設定で Azure IoT Operations を有効にする必要があります。それには Azure Key Vault を構成し、ワークロード ID を有効にします。 詳細については、Azure IoT Operations デプロイでの安全な設定の有効化に関するページを参照してください。

重要

現在、操作エクスペリエンス ポータルには、X.509 シークレットを作成すると、誤ってエンコードされたデータを含むシークレットが生成されるという既知の問題があります。 詳細と回避策については、既知の問題を参照してください。

Operations Experience のデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[X509 証明書] を選択します。

ここで、[同期されたシークレット名] にシークレットの名前を入力します。 この名前は、データフロー エンドポイント設定でシークレットを参照するために使用されるものであり、Kubernetes クラスターに格納されているシークレットの名前です。

次に、[X509 クライアント証明書][X509 クライアント キー][X509 中間証明書] で、[参照の追加] を選択して証明書、秘密キー、中間証明書を追加します。 次のページで、Azure Key Vault のシークレットを選択し、Azure Key Vault から追加するか、シークレットを新規作成します。

[新規作成] を選択した場合は、次の設定を入力します。

設定 説明
シークレット名 Azure Key Vault 内のシークレットの名前。 覚えやすい名前にして、後でリストからそのシークレットを選択できるようにしてください。
シークレットの値 PEM 形式の証明書、秘密キー、または中間証明書。
アクティブ化する日を設定する オンにした場合、シークレットがアクティブになる日付。
有効期限を設定する オンにした場合、シークレットの有効期限が切れる日付。

シークレットの詳細については、「Azure IoT Operations でのシークレットの作成と管理」を参照してください。

匿名

匿名認証を使うには、認証方法を Anonymous に設定します。

Operations Experience のデータフロー エンドポイント設定ページで、[基本] タブを選択し、[認証方法]>[なし] を選択します。

詳細設定

TLS、信頼された証明機関証明書、MQTT メッセージの設定、CloudEvents など、MQTT ブローカー データフロー エンドポイントの詳細設定を設定できます。 これらの設定は、データフロー エンドポイントのカスタム リソース内のデータフロー エンドポイントの [詳細設定] ポータル タブで設定できます。

Operations Experience で、データフロー エンドポイントの [詳細設定] タブを選択します。

TLS の設定

TLS モード

MQTT エンドポイントの TLS を有効または無効にするには、TLS 設定の mode 設定を更新します。

Operations Experience のデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[TLS モードが有効] の横にあるチェックボックス使用します。

TLS モードは、Enabled または Disabled に設定できます。 モードが Enabled に設定されている場合、データフローは MQTT ブローカーに対して安全な接続を使用します。 モードが Disabled に設定されている場合、データフローは MQTT ブローカーに対して安全ではない接続を使用します。

信頼された証明機関証明書

MQTT ブローカーへのセキュリティで保護された接続を確立するために、MQTT エンドポイントの信頼された CA 証明書を構成します。 この設定は、MQTT ブローカーが自己署名証明書または既定では信頼されていないカスタム証明機関によって署名された証明書を使用する場合に重要です。

Operations Experience のデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[信頼された CA 証明書構成マップ] フィールドを使用して、信頼された CA 証明書を含む ConfigMap を指定します。

この ConfigMap には、PEM 形式の証明機関証明書が含まれている必要があります。 この ConfigMap は、MQTT データフロー リソースと同じ名前空間に存在する必要があります。 次に例を示します。

kubectl create configmap client-ca-configmap --from-file root_ca.crt -n azure-iot-operations

ヒント

Event Grid MQTT ブローカーに接続するときに CA 証明書は必要ありません。Event Hubs サービスでは、既定で信頼されているパブリック CA によって署名された証明書が使用されるからです。

クライアント ID プレフィックス

MQTT クライアントのクライアント ID プレフィックスを設定できます。 プレフィックスの後にデータフロー インスタンス名を追加してクライアント ID が生成されます。

注意事項

ほとんどのアプリケーションでは、クライアント ID プレフィックスを変更しないでください。 最初の IoT 操作のデプロイ後にこれを変更しないでください。 デプロイ後にクライアント ID プレフィックスを変更すると、データが失われる可能性があります。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[クライアント ID プレフィックス] フィールドを使用してプレフィクスを指定します。

QoS

MQTT メッセージのサービス品質 (QoS) レベルを 1 または 0 に設定できます。 既定値は 1 です。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[サービスの品質 (QoS)] フィールドを使用して QoS レベルを指定します。

保持する

retain の設定は、データフローが MQTT メッセージで保持フラグを維持する必要があるかどうかを指定するために使います。 既定値は、Keep です。

このフィールドを Keep に設定することは、リモート ブローカーでもローカル ブローカーと同じメッセージを確実に保持するのに役立ちます。このことは、統合名前空間 (UNS) のシナリオで重要になる可能性があります。

Never に設定すると、保持フラグは MQTT メッセージから削除されます。 これは、リモート ブローカーにメッセージを保持させたくない場合や、リモート ブローカーが保持をサポートしていない場合に役立ちます。

保持設定を構成するには、以下を行います。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[保持] フィールドを使用して保持設定を指定します。

"保持" 設定は、データフローが MQTT エンドポイントを送信元と送信先の両方として使う場合にのみ有効です。 たとえば、MQTT ブリッジのシナリオの場合です。

重要

Azure Event Grid MQTT ブローカーは、現在は保持フラグをサポートしていません。 つまり、Event Grid MQTT ブローカー エンドポイントで保持フラグを Keep に設定した場合、それが宛先として使われると、メッセージは拒否されます。 Event Grid MQTT ブローカーを宛先として使うときは、これを避けるため、保持フラグを Never に設定します。

セッションの有効期間

データフロー MQTT クライアントのセッションの有効期間を設定できます。 セッションの有効期間は、データフロー クライアントが切断された場合に MQTT セッションが維持される最大時間です。 既定値は 600 秒です。 セッションの有効期限間隔を構成するには、以下を行います。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[セッションの有効期間] フィールドを使用してセッションの有効期間間隔を指定します。

MQTT または WebSocket プロトコル

既定では、WebSocket は有効にされません。 WebSocket 経由で MQTT を使うには、protocol フィールドを WebSockets に設定します。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[プロトコル] フィールドを使用してプロトコルを指定します。

最大配信中メッセージ数

データフロー MQTT クライアントが保持できる配信中メッセージの最大数を設定できます。 既定値は、100 です。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[配信中のメッセージの最大数] フィールドを使用して配信中のメッセージの最大数を指定します。

MQTT エンドポイントが送信元として使われているときのサブスクライブの場合、これは受信の最大値です。 MQTT エンドポイントが送信先として使われているときのパブリッシュの場合、これは受信確認を待機する前に送信するメッセージの最大数です。

キープ アライブ

データフロー MQTT クライアントのキープ アライブ間隔を設定できます。 キープ アライブ間隔は、PINGREQ メッセージがブローカーに送信されるまで、データフロー クライアントがアイドル状態になっていられる最大時間です。 既定値は 60 秒です。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、[キープ アライブ] フィールドを使用してキープ アライブ間隔を指定します。

CloudEvents

CloudEvents は、イベント データを一般的な方法で記述する方法です。 CloudEvents の設定は、CloudEvents 形式でメッセージを送受信するために使われます。 CloudEvents は、同じ、または異なるクラウド プロバイダー内にある異なるサービスが相互に通信する必要があるイベント駆動型アーキテクチャに使用できます。

cloudEventAttributes オプションは、Propagate または CreateOrRemap です。 CloudEvents の設定を構成するには、以下を行います。

操作エクスペリエンスのデータフロー エンドポイント設定ページで、[詳細設定] タブを選択し、クラウド イベント属性] フィールドを使用して CloudEvents 設定を指定します。

以降のセクションでは、CloudEvents設定の詳細について説明します。

Propagate の設定

CloudEvent プロパティは、必要なプロパティを含むメッセージではパススルーされます。 メッセージに必要なプロパティが含まれていない場合、メッセージはそのままパススルーされます。

名前 必須 サンプルの値 出力値
specversion はい 1.0 そのままパススルーされます
type はい ms.aio.telemetry そのままパススルーされます
source はい aio://mycluster/myoven そのままパススルーされます
id はい A234-1234-1234 そのままパススルーされます
subject いいえ aio/myoven/telemetry/temperature そのままパススルーされます
time いいえ 2018-04-05T17:31:00Z そのままパススルーされます。 タイムスタンプは更新されません。
datacontenttype いいえ application/json オプションの変換ステージの後で、出力データのコンテンツ タイプに変更されます。
dataschema いいえ sr://fabrikam-schemas/123123123234234234234234#1.0.0 変換構成に出力データ変換スキーマが指定されている場合、dataschema は出力スキーマに変更されます。

CreateOrRemap の設定

CloudEvent プロパティは、必要なプロパティを含むメッセージではパススルーされます。 メッセージに必要なプロパティが含まれていない場合は、プロパティが生成されます。

名前 必須 ない場合に生成される値
specversion はい 1.0
type イエス ms.aio-dataflow.telemetry
source イエス aio://<target-name>
id はい ターゲット クライアントで生成された UUID
subject いいえ メッセージが送信される出力トピック
time いいえ ターゲット クライアントで RFC 3339 として生成
datacontenttype いいえ オプションの変換ステージの後で、出力データのコンテンツ タイプに変更
dataschema いいえ スキーマ レジストリで定義されているスキーマ

次のステップ

データフローの詳細については、データフローの作成に関するページを参照してください。