Contact Us 1-800-596-4880

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:

  1. In Studio, select File > New > Mule Project.

  2. 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:

  1. In the Mule Palette view, click (X) Search in Exchange.

  2. In the Add Dependencies to Project window, type azure event hubs messaging in the search field.

  3. Click Azure Event Hubs Connector in Available modules.

  4. Click Add.

  5. 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:

  1. In the Mule Palette view, select HTTP > Listener.

  2. Drag Listener to the Studio canvas.

  3. On the Listener configuration screen, optionally change the value of the Display Name field.

  4. Specify a value for the Path field.

  5. 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.

  6. On the General tab, specify the connection information for the connector.

  7. On the TLS tab, optionally specify the TLS information for the connector.

  8. On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

  9. Click Test Connection to confirm that Mule can connect with the specified server.

  10. 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:

  1. In the Mule Palette view, select Azure Event Hubs and then select the desired operation.

  2. 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:

  1. Select the operation in the Studio canvas.

  2. In the configuration screen for the operation, click the plus sign (+) next to the Connector configuration field to access the global element configuration fields.

  3. On the General tab, in Connection, select the authentication method to configure:

  1. On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

  2. Click Test Connection to confirm that Mul runtime can connect with the specified server.

  3. 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

String

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 true, DefaultAzureCredential Class(Azure.Identity) is created to get a token to authenticate.

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:

Configuring azure blob storage SAS authentication

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:

Configuring active directory authentication with client credentials

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:

Configuring active directory authentication with default client credentials

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.

View on GitHub