String
Using Anypoint Studio to Configure Azure Event Hubs Connector 1.0 - Mule 4
Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files.
To add and configure a connector in Studio:
When you run the connector, you can view the app log to check for problems in real time, as described in View the App Log.
If you are new to configuring connectors in Studio, see Use Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, refer to the Azure Event Hub Connector Reference.
Create a Mule Project
In Studio, create a new Mule project in which to add and configure the connector:
-
In Studio, select File > New > Mule Project.
-
Enter a name for your Mule project and click Finish.
Add the Connector to Your Mule Project
Add Anypoint Connector for Azure Event Hubs Messaging (Azure Event Hubs Messaging Connector) to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s pom.xml
file:
-
In the Mule Palette view, click (X) Search in Exchange.
-
In the Add Dependencies to Project window, type
azure event hubs messaging
in the search field. -
Click Azure Event Hubs Connector in Available modules.
-
Click Add.
-
Click Finish.
Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace.
Configure a Source
A source initiates a flow when a specified condition is met. You can configure one of these sources to use with Azure Event Hubs Connector:
-
HTTP Listener
Initiates a flow each time it receives a request on the configured host and port -
Scheduler
Initiates a flow when a time-based condition is met
For example, to configure an HTTP Listener source, follow these steps:
-
In the Mule Palette view, select HTTP > Listener.
-
Drag Listener to the Studio canvas.
-
On the Listener configuration screen, optionally change the value of the Display Name field.
-
Specify a value for the Path field.
-
Click the plus sign (+) next to the Connector configuration field to configure a global element that can be used by all instances of the HTTP Listener source in the app.
-
On the General tab, specify the connection information for the connector.
-
On the TLS tab, optionally specify the TLS information for the connector.
-
On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.
-
Click Test Connection to confirm that Mule can connect with the specified server.
-
Click OK.
Add a Connector Operation to the Flow
When you add a connector operation to your flow, you are specifying an action for that connector to perform.
To add an operation for Azure Event Hubs Messaging Connector, follow these steps:
-
In the Mule Palette view, select Azure Event Hubs and then select the desired operation.
-
Drag the operation onto the Studio canvas to the right of the source.
Configure a Global Element for the Connector
When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication that the connector requires to access the target Azure Event Hubs system. Azure Event Hubs Connector supports SAS authentication and Active Directory authentication.
To configure the global element for Azure Event Hubs Connector, follow these steps:
-
Select the operation in the Studio canvas.
-
In the configuration screen for the operation, click the plus sign (+) next to the Connector configuration field to access the global element configuration fields.
-
On the General tab, in Connection, select the authentication method to configure:
-
On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.
-
Click Test Connection to confirm that Mul runtime can connect with the specified server.
-
Click OK.
Configure SAS Authentication
Enter the following information on the General tab of the Global Element Properties screen to configure SAS authentication:
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Namespace |
Azure Event Hubs namespace name. |
x |
||
Shared Access Key Name |
String |
Shared access key provided by Azure. |
x |
|
Shared Access Key |
String |
Shared access key value provided by Azure. |
x |
|
Event Hub Name |
String |
Azure Event Hub name. |
x |
|
Share Connection |
Boolean |
Toggles the builder to use the same connection for producers or consumers. |
false |
|
Checkpoint Store Type |
Selects the Azure Blob Storage connection. |
|||
Reconnection |
Reconnection |
Configures a reconnection strategy to use when the connector operation fails to connect to an external server. |
Configure Active Directory Authentication
Enter the following information on the General tab of the Global Element Properties screen to configure Active Directory authentication.
Using this authentication type enables you to configure Token Credential Properties or Use default credentials.
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Token Credential Properties |
Acquires a token via service principal authentication. |
|||
Use Azure Default Credential |
Boolean |
Use the DefaultAzureCredentials mechanism. |
false |
|
Namespace |
String |
Azure Event Hubs namespace name. |
x |
|
Authority Host |
String |
Specifies the Azure Active Directory host. Defaults to https://login.microsoftonline.com/ |
||
Event Hub Name |
String |
Event Hub name. |
x |
|
Share Connection |
Boolean |
Toggles the builder to use the same connection for producers or consumers. |
false |
|
Checkpoint Store Type |
Select the checkpointing connection provider. |
|||
Reconnection |
Reconnection |
Configures a reconnection strategy to use when a connector operation fails to connect to an external server. |
Configure Azure Blob Storage SAS Authentication
The following table shows the fields for configuring Azure blob storage sas authentication.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Container Name |
String |
Container name. |
x |
|
Account Name |
String |
Account name of the Azure account. |
x |
|
Account Key |
String |
Account key of the Azure account. |
x |
Configure Azure Blob Storage Active Directory Authentication
The following table shows the fields to configure Azure blob storage active directory authentication.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Token Credential Properties |
Acquires a token via service principal authentication. |
|||
Use Azure Default Credential |
Boolean |
If you set this flag to |
false |
|
Container Name |
String |
Container name. |
x |
|
Account Name |
String |
Account name of the Azure account. |
x |
|
Authority Host |
String |
Specifies the Azure active directory host. Defaults to https://login.microsoftonline.com/ |
Configure Token Credential Properties
The following table shows the fields for configuring Token credentials properties.
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Tenant Id |
String |
Tenant ID. |
||
Client Id |
String |
Client ID. |
||
Client Secret |
String |
Client secret. |
Configuration Examples
The following example shows the configuration for Sas Authentication with Azure blob storage sas authentication in Studio:
In the Configuration XML editor, the azure-eventhubs:sas-authentication-connection
and azure-eventhubs:azure-blob-storage-sas-authentication
configurations look like this:
<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>
The following example shows the configuration for Active directory authentication with Azure blob storage sas authentication and Token credentials properties in Studio:
In the Configuration XML editor, the azure-eventhubs:active-directory-authentication-connection
, azure-eventhubs:azure-blob-storage-sas-authentication
, and azure-eventhubs:token-credential-properties
configurations look like this:
<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>
The following example shows the configuration for Active directory authentication with Azure blob storage active directory authentication and Use azure default credentials in Studio:
In the Configuration XML editor, the azure-eventhubs:active-directory-authentication-connection
, azure-eventhubs:azure-blob-storage-sas-authentication
, and useAzureDefaultCredential
configurations look like this:
<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>
Configure Additional Connector Fields
After you configure a global element for Azure Event Hubs Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use.
View the App Log
To check for problems, you can view the app log as follows:
-
If you’re running the app from Anypoint Platform, the app log output is visible in the Anypoint Studio console window.
-
If you’re running the app using Mule from the command line, the app log output is visible in your OS console.
Unless the log file path is customized in the app’s log file (log4j2.xml
), you can also view the app log in the default location MULE_HOME/logs/<app-name>.log
.