Anypoint Studio を使用した Azure Event Hubs Connector 1.1 の設定 - Mule 4

Anypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。

Studio でコネクタを追加および設定する手順は、次のとおりです。

「アプリケーションログの表示」​で説明されているように、コネクタを実行するときに、リアルタイムでアプリケーションログを表示して問題を確認できます。

Studio で初めてコネクタを設定する場合は、​「Use Studio to Configure a Connector (Studio を使用したコネクタの設定)」​を参照してください。このトピックを参照した後、コネクタ項目についての詳細情報が必要な場合は、​「Azure Event Hub Connector リファレンス」​を参照してください。

Mule プロジェクトを作成する

Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。

  1. Studio で、​[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)]​ を選択します。

  2. Mule プロジェクトの名前を入力して、​[Finish (完了)]​ をクリックします。

コネクタを Mule プロジェクトに追加する

Azure Event Hubs Messaging 用 Anypoint Connector (Azure Event Hubs Messaging Connector) を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​pom.xml​ ファイルに必須の連動関係を追加します。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  2. [Add Dependencies to Project (連動関係をプロジェクトに追加)]​ ウィンドウで、検索項目に​「azure event hubs messaging」​と入力します。

  3. [Available modules (使用可能なモジュール)]​ で ​[Azure Event Hubs Connector]​ をクリックします。

  4. [Add (追加)]​ をクリックします。

  5. [Finish (完了)]​ をクリックします。

Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。

ソースの設定

ソースは、指定された条件が満たされたときにフローを開始します。 次のソースのいずれかを設定して、Azure Event Hubs Connector で使用できます。

  • HTTP Listener (HTTP リスナー)
    設定されたホストとポートで要求を受信するたびにフローを開始する

  • スケジューラー
    時間ベースの条件が満たされたときにフローを開始する

たとえば、HTTP Listener ソースを設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[HTTP] > [Listener]​ を選択します。

  2. [Listener]​ を Studio キャンバスにドラッグします。

  3. [Listener (リスナー)]​ 設定画面で、必要に応じて ​[Display Name (表示名)]​ 項目の値を変更します。

  4. [Path (パス)]​ 項目の値を指定します。

  5. [Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックして、アプリケーション内の HTTP Listener ソースのすべてのインスタンスで使用できるグローバル要素を設定します。

  6. [General (一般)]​ タブで、コネクタの接続情報を指定します。

  7. [TLS]​ タブで、必要に応じてコネクタの TLS 情報を指定します。

  8. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  9. [Test Connection (接続をテスト)]​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。

  10. [OK]​ をクリックします。

フローにコネクタの操作を追加する

フローにコネクタの操作を追加するときは、そのコネクタで実行するアクションを指定しています。

Azure Event Hubs Messaging Connector の操作を追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Azure Event Hubs]​ を選択し、目的の操作を選択します。

  2. その操作を Studio キャンバスの入力元の右にドラッグします。

コネクタのグローバル要素を設定する

コネクタを設定する場合、アプリケーション内のそのコネクタのすべてのインスタンスで使用できるグローバル要素を設定します。グローバル要素を設定するには、コネクタが対象の Azure Event Hubs システムにアクセスするために必要な認証ログイン情報を指定する必要があります。 Azure Event Hubs Connector では SAS 認証と Active Directory 認証がサポートされています。

Azure Event Hubs Connector のグローバル要素を設定する手順は、次のとおりです。

  1. Studio キャンバスで操作を選択します。

  2. 操作の設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックし、グローバル要素設定項目にアクセスします。

  3. [General (一般)]​ タブの ​[Connection (接続)]​ で、設定する認証方式を選択します。

  1. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  2. [Test Connection (接続をテスト)]​ をクリックして、Mule Runtime が指定されたサーバーに接続できることを確認します。

  3. [OK]​ をクリックします。

SAS 認証を設定する

[Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで次の情報を入力し、SAS 認証を設定します。

名前 Type (型) 説明 デフォルト値 必須

Namespace (名前空間)

String (文字列)

Azure Event Hubs 名前空間名。

x

Shared Access Key Name (共有アクセスキー名)

String (文字列)

Azure から提供される共有アクセスキー。

x

Shared Access Key (共有アクセスキー)

String (文字列)

Azure から提供される共有アクセスキー値。

x

Event Hub Name (イベントハブ名)

String (文字列)

Azure イベントハブ名。

x

Share Connection (共有接続)

Boolean (ブール)

プロデューサーまたはコンシューマーの同じ接続を使用するビルダーを切り替えます。

false

Checkpoint Store Type (チェックポイントストア種別)

Azure Blob Storage 接続を選択します。

Reconnection (再接続)

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

Active Directory 認証の設定

[Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで次の情報を入力し、Active Directory 認証を設定します。

この認証種別を使用すると、​[Token Credential Properties (トークンログイン情報プロパティ)]​ または ​[Use default credentials (デフォルトログイン情報を使用)]​ を設定できます。

名前 説明 デフォルト値 必須

Token Credential Properties (トークンログイン情報プロパティ)

サービスプリンシパル認証を介してトークンを取得します。

Use Azure Default Credential (Azure のデフォルトログイン情報を使用)

Boolean (ブール)

DefaultAzureCredentials メカニズムを使用します。

false

Namespace (名前空間)

String (文字列)

Azure Event Hubs 名前空間名。

x

Authority Host (機関ホスト)

String (文字列)

Azure Active Directory ホストを指定します。デフォルトは https://login.microsoftonline.com/Leaving the Site です。

Event Hub Name (イベントハブ名)

String (文字列)

イベントハブ名。

x

Share Connection (共有接続)

Boolean (ブール)

プロデューサーまたはコンシューマーの同じ接続を使用するビルダーを切り替えます。

false

Checkpoint Store Type (チェックポイントストア種別)

チェックポイント接続プロバイダーを選択します。

Reconnection (再接続)

Reconnection (再接続)

コネクタ操作で外部サーバーへの接続に失敗した場合に使用する再接続戦略を設定します。

Azure Blob Storage SAS 認証の設定

次の表に、​Azure Blob Storage SAS 認証​を設定するための項目を示します。

項目 説明 デフォルト値 必須

Container Name (コンテナ名)

String (文字列)

コンテナ名。

x

Account Name (アカウント名)

String (文字列)

Azure アカウントのアカウント名。

x

Account Key (アカウントキー)

String (文字列)

Azure アカウントのアカウントキー。

x

Azure Blob Storage Active Directory 認証の設定

次の表に、​Azure Blob Storage Active Directory 認証​を設定するための項目を示します。

項目 説明 デフォルト値 必須

Token Credential Properties (トークンログイン情報プロパティ)

サービスプリンシパル認証を介してトークンを取得します。

Use Azure Default Credential (Azure のデフォルトログイン情報を使用)

Boolean (ブール)

このフラグを ​true​ に設定すると、認証するトークンを取得するための DefaultAzureCredential Class(Azure.Identity) が作成されます。

false

Container Name (コンテナ名)

String (文字列)

コンテナ名。

x

Account Name (アカウント名)

String (文字列)

Azure アカウントのアカウント名。

x

Authority Host (機関ホスト)

String (文字列)

Azure Active Directory ホストを指定します。デフォルトは https://login.microsoftonline.com/Leaving the Site です。

トークンログイン情報プロパティの設定

次の表に、​トークンログイン情報プロパティ​を設定するための項目を示します。

項目 説明 デフォルト値 必須

Tenant Id (テナント ID)

String (文字列)

テナント ID。

Client Id (クライアント ID)

String (文字列)

クライアント ID。

Client Secret (クライアントシークレット)

String (文字列)

クライアントシークレット。

設定例

次の例は、Studio での ​[Azure blob storage sas authentication (Azure Blob Storage SAS 認証)]​ を使用した ​SAS 認証​の設定を示しています。

Azure Blob Storage SAS 認証の設定

[Configuration XML (設定 XML)]​ エディターでは、​azure-eventhubs:sas-authentication-connection​ および ​azure-eventhubs:azure-blob-storage-sas-authentication​ 設定は次のように記述されます。

	<azure-eventhubs:azure-eventhubs-config name="sas" doc:name="Azure Event Hubs Connector Azure Event Hubs" >
		<azure-eventhubs:sas-authentication-connection namespace="${config.namespace}" sharedAccessKeyName="${sas-config.sharedAccessKeyName}" sharedAccessKey="${sas-config.sharedAccessKey}" eventHubName="${config.eventHuName}" >
			<azure-eventhubs:checkpoint-store-type >
				<azure-eventhubs:azure-blob-storage-sas-authentication containerName="${bs-config.containerName}" accountName="${bs-config.accountName}" accountKey="${bs-config.accountKey}" />
			</azure-eventhubs:checkpoint-store-type>
		</azure-eventhubs:sas-authentication-connection>
	</azure-eventhubs:azure-eventhubs-config>
xml

次の例は、Studio での ​[Azure blob storage sas authentication (Azure Blob Storage SAS 認証)]​ および ​[Token credentials properties (トークンログイン情報プロパティ)]​ を使用した ​Active Directory 認証​の設定を示しています。

クライアントログイン情報を使用した Active Directory 認証の設定

[Configuration XML (設定 XML)]​ エディターでは、​azure-eventhubs:active-directory-authentication-connection​、​azure-eventhubs:azure-blob-storage-sas-authentication​、​azure-eventhubs:token-credential-properties​ 設定は次のように記述されます。

<azure-eventhubs:azure-eventhubs-config name="ActiveDirectory" doc:name="Azure Event Hubs Connector Azure Event Hubs" >
		<azure-eventhubs:active-directory-authentication-connection namespace="${config.namespace}" eventHubName="${config.eventHubName}" >
			<azure-eventhubs:token-credential-properties tenantId="${ad-config.tenantId}" clientId="${ad-config.clientId}" clientSecret="${ad-config.clientSecret}" />
			<azure-eventhubs:checkpoint-store-type >
				<azure-eventhubs:azure-blob-storage-sas-authentication containerName="${bs.config.containerName}" accountName="${bs.config.accountName}" accountKey="${bs.config.containerName}" />
			</azure-eventhubs:checkpoint-store-type>
		</azure-eventhubs:active-directory-authentication-connection>
	</azure-eventhubs:azure-eventhubs-config>
xml

次の例は、Studio での ​[Azure blob storage active directory authentication (Azure Blob Storage SAS 認証)]​ および ​[Use azure default credentials (Azure のデフォルトログイン情報を使用)]​ を使用した ​Active Directory 認証​の設定を示しています。

デフォルトのクライアントログイン情報を使用した Active Directory 認証の設定

[Configuration XML (設定 XML)]​ エディターでは、​azure-eventhubs:active-directory-authentication-connection​、​azure-eventhubs:azure-blob-storage-sas-authentication​、​useAzureDefaultCredential​ 設定は次のように記述されます。

<azure-eventhubs:azure-eventhubs-config name="ActiveDirectory" doc:name="Azure Event Hubs Connector Azure Event Hubs"  >
		<azure-eventhubs:active-directory-authentication-connection namespace="${config.namespace}" eventHubName="${config.eventHubName}" useAzureDefaultCredential="true">
			<azure-eventhubs:checkpoint-store-type >
				<azure-eventhubs:azure-blob-storage-active-directory-authentication containerName="${bs-config.containerName}" accountName="${bs-config.accountName}" >
					<azure-eventhubs:token-credential-properties tenantId="${ad-config.tenantId}" clientId="${ad-config.clientId}" clientSecret="${ad-config.clientSecret}" />
				</azure-eventhubs:azure-blob-storage-active-directory-authentication>
			</azure-eventhubs:checkpoint-store-type>
		</azure-eventhubs:active-directory-authentication-connection>
	</azure-eventhubs:azure-eventhubs-config>
xml

その他のコネクタ項目の設定

Azure Event Hubs Connector のグローバル要素を設定したら、コネクタの他の必須項目を設定します。必須項目は、使用するコネクタ操作によって異なります。

アプリケーションログの表示

問題を確認するため、アプリケーションログを次の方法で表示できます。

  • アプリケーションを Anypoint Platform から実行している場合、アプリケーションログ出力は Anypoint Studio のコンソールウィンドウに表示されます。

  • コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログ出力は OS コンソールに表示されます。

アプリケーションのログファイル (​log4j2.xml​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​MULE_HOME/logs/<app-name>.log​ でアプリケーションログを表示することもできます。