Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -166,329 +166,6 @@ Technical Contacts with a license to the Mendix Event Broker can manage this fea

Once the bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page.

### Configuring a Bridge with AWS SQS {#bridge-with-aws-sqs}

The creation process for AWS SQS bridges includes two additional steps on the Mendix side and policies that need to be implemented on the AWS side.

#### Configure Service

1. Configure the service by filling out the following:
* **Event Broker Space** – the space where the bridge will operate
* **Name** – the name you want to call the bridge
* **AWS region** – the AWS region where your bridge operates
{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_configure.png" width="400" >}}

2. Click **Next** to continue the configuration.

#### Connect Events

Select the business events to integrate with AWS SQS:

1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events.
2. Select the checkbox for the event(s) you want to add, then click **Select**.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_choose_events.png" width="400" >}}

3. Configure each event with its own SQS URL for each direction the event will be integrated.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_connect_events.png" width="400" >}}

4. Click **Next** to continue.

5. Confirm the configuration with the AWS Access Policy.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_approve_policy.png" width="400" >}}

6. After all events have been configured, click **Start** to start the Mendix Event Broker Bridge. This process will take several minutes to complete.

#### Overview of AWS SQS Bridge

Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-sqs/ebb_aws_sqs_overview.png" class="no-border" width="400" >}}

#### Configure AWS Access Policy

You need to configure AWS access policies for both sending and receiving messages.

##### Sending Messages to Mendix

Add the object below to the Access Policy of your AWS SQS queue if it is sending messages to Mendix.

```
{
"Sid": "__sender_statement",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::044806572671:role/mendix-event-broker-bridge"
]
},
"Action": [
"SQS:SendMessage"
],
"Resource": "<Tenant SQS ARN>"
}
```

##### Receiving Messages from Mendix

Add the object below to your Access Policy of the AWS SQS queue if it is receiving messages from Mendix.

```
{
"Sid": "__receiver_statement",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::044806572671:role/mendix-event-broker-bridge"
]
},
"Action": [
"SQS:ChangeMessageVisibility",
"SQS:DeleteMessage",
"SQS:ReceiveMessage"
],
"Resource": "<Tenant SQS ARN>"
}
```

### Configuring a Bridge with HTTP {#bridge-with-http}

#### Configure Service

1. Configure the service by filling out the following:

* **Event Broker Space** – the space where the bridge will operate
* **Name** – the name you want to call the bridge
* **AWS region** – the AWS region where your bridge operates

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_configure.png" width="400" >}}

2. Click **Next** to connect events to your bridge.

#### Connect Events

Select the business events to integrate with the HTTP Bridge:

1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of subscribing are shown, as this bridge operates in one direction.
2. Select the event(s) to integrate. Once selected, the URL for the HTTP connection is automatically generated.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_connect_events.png" width="400" >}}

3. Click **Next** to proceed to the confirmation screen.

#### Overview of HTTP Bridge

Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/http/ebb_http_overview.png" class="no-border" width="400" >}}

#### Using the HTTP Bridge {#using-the-http-bridge}

To run the HTTP bridge from your client, include a Bearer token in the request header.

1. Open the HTTP bridge details using the **Options** ({{% icon name="three-dots-menu-horizontal" %}}) menu on the **Overview** page.
2. Add the **Bearer token**.

### Configuring a Bridge with Azure Blob Storage {#bridge-with-azure-blob-storage}

#### Configure Service

1. Configure the service by filling out the following:

* **Event Broker Space** – the space where the bridge will operate
* **Name** – the name you want to call the bridge
* **Storage Account** – the storage account to access
* **Storage SAS Token** – the storage SAS Token
* **Container Path** – the path of the container where the messages will be stored

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_configure.png" >}}

2. Click **Next** to connect events to your bridge.

#### Connect Events

Select the business events to integrate with Azure Blob Storage:

1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of publishing are shown, as this bridge operates in one direction.
2. Select the event(s) to integrate and specify the prefix path for event storage.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_connect_events.png" >}}

3. Click **Next** to proceed to the confirmation screen.

#### Overview of Azure Blob Storage Bridge

Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/azure-blob-storage/ebb_azure_blob_overview.png" class="no-border" >}}

### Configuring a Bridge with AWS S3 {#bridge-with-aws-s3}

#### Configure Service

1. Configure the service by filling out the following:

* **Event Broker Space** – the space where the bridge will operate
* **Name** – the name you want to call the bridge
* **Bucket** – the path of the container where the messages will be stored
* **AWS Region for Bucket** – the AWS region where your S3 bucket is located
* **AWS Role (to Assume)** – the Amazon Resource Name (ARN) of the IAM role that the Event Broker Bridge will assume to access your S3 bucket; this role must be configured with appropriate permissions and a trust policy allowing the Event Broker to assume it
* **AWS Role's External Id** – a unique identifier that provides additional security when the Event Broker assumes your AWS role; this shared secret ensures that only authorized Mendix Event Broker instances can assume the role

{{% alert color="info" %}}For detailed instructions on how to create the IAM role and obtain these values, see [Configure AWS Authentication for S3 Bridge](#configure-aws-s3-authentication).{{% /alert %}}

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_configure.png" >}}

2. Click **Next** to connect events to your bridge.

#### Connect Events

Select the business events to integrate with AWS S3:

1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker, including Mendix app-defined events and uploaded AsyncAPI events. Only events capable of publishing are shown, as this bridge operates in one direction.
2. Select the event(s) to integrate and specify the prefix path for event storage.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_connect_events.png" >}}

3. Click **Next** to proceed to the confirmation screen.

#### Overview of AWS S3 Bridge

Once the Mendix Event Broker Bridge has been successfully deployed, its configuration and status can be viewed on the **Overview** page.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_overview.png" class="no-border" >}}

#### Configure AWS Authentication for S3 Bridge {#configure-aws-s3-authentication}

The Mendix Event Broker runs in AWS and uses cross-account authentication to securely access your S3 bucket. This authentication mechanism leverages AWS IAM roles with trust policies and external IDs to ensure secure, controlled access.

##### Prerequisites

* Access to your AWS account with permissions to create and manage IAM roles
* An S3 bucket where business events will be stored
* The Mendix Event Broker AWS account ID: `044806572671`

##### Create an IAM Role with a Trust Policy

The trust policy defines which AWS accounts can assume the role.

1. Navigate to **IAM** > **Roles** in your AWS Console.
2. Click **Create role**.
3. Select **AWS account** as the trusted entity type.
4. Choose **Another AWS account**.
5. Enter the Mendix Event Broker AWS account ID: `044806572671`
6. Select **Require external ID** and enter a unique external ID of your choice. This external ID will be required when configuring the bridge in the Event Broker Manager.
7. Click **Next**.

{{% alert color="info" %}}
The external ID acts as a shared secret between Mendix and your AWS account. This prevents the confused deputy problem and ensures that only authorized Event Broker instances can assume your role.
{{% /alert %}}

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/aws-s3/ebb_aws_s3_create_a_cross_account_role_in_aws.png" class="no-border" width="400" >}}

##### Attach Permissions Policy to the Role

The permissions policy defines what actions the Event Broker can perform once the role is assumed.

1. Click **Create policy** to create a new policy, or select an existing policy.
2. If creating a new policy, use the following JSON template to grant the necessary S3 permissions:

```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowWriteObjects",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::BUCKET_NAME/*"
},
{
"Sid": "AllowListBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::BUCKET_NAME"
}
]
}
```

3. Replace `BUCKET_NAME` with your actual S3 bucket name.
4. Name your policy (for example, `EventBrokerS3WritePolicy`) and create it.
5. Attach the policy to your IAM role.
6. Click **Next**.

{{% alert color="info" %}}
The policy above grants the minimum required permissions for the Event Broker to write business events to your S3 bucket. Adjust the permissions as needed based on your security requirements.
{{% /alert %}}

##### Complete Role Creation

1. Provide a name for your role (for example, `EventBrokerS3AccessRole`).
2. Review the role configuration and click **Create role**.
3. Once created, open the role and copy the **Role ARN** (it will look like this: `arn:aws:iam::YOUR_ACCOUNT_ID:role/EventBrokerS3AccessRole`).

##### Configure the Bridge

Use the Role ARN and External ID when configuring your AWS S3 bridge in the Event Broker Manager.

### Configuring a Bridge with Iceberg {#bridge-with-iceberg}

#### Configure Service

1. Configure the service by filling out the following:

* **Event Broker Space** – the space where the bridge operates
* **Name** – a name for the bridge
* **Choose a data lake** – the data lake that Iceberg uses to store your data
* **Azure Blob Storage**
* **Storage Account** – the storage account to access
* **Storage SAS Token** – the SAS token used to access the storage account
* **Container** – the container where the data is stored
* **AWS S3**
* **Bucket** – the bucket where the data is stored
* **AWS Region for Bucket** – the AWS region where the bucket is located
* **AWS Role (to Assume)** – the AWS role to assume for the required permissions

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/iceberg/ebb_iceberg_configure.png" alt="" width="400" >}}

#### Connect Events

Select the CDC events that you want to deliver from the Event Broker to Iceberg:

1. Click **Add CDC Events** to open a dialog box displaying the available CDC events managed by the Event Broker. Only events that can be subscribed to are shown because the bridge delivers events in one direction, from the Event Broker to Iceberg.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/iceberg/ebb_iceberg_connect_events.png" alt="" width="400" >}}

2. Select one or more CDC events to integrate. The Iceberg connection configuration is automatically generated based on the selected events.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/iceberg/ebb_iceberg_choose_cdc_events.png" alt="" width="400" >}}

3. Click **Next** to review and confirm the bridge configuration.

#### Overview of Iceberg Bridge

After the bridge is created, you can view its configuration and status on the **Overview** page.

{{< figure src="/attachments/appstore/platform-supported-content/services/event-broker/bridges/iceberg/ebb_iceberg_overview.png" alt="" class="no-border" width="400" >}}

Check the **Bridge Status** on the **Overview** page to verify that it is ready and operating as expected. The following list describes the possible bridge statuses.

#### Bridge Statuses

* **Halted** – The bridge has stopped because an internal component failed. Data is not being delivered.
* **Provisioning** – The bridge is being created or initialized and is not yet ready to deliver data.
* **Delivering** – The bridge is healthy, fully configured, and actively delivering data to the destination.
* **Misconfigured** – The bridge is running, but its data flow is not healthy or cannot be fully verified. Check the bridge configuration and data flow.
* **Reconfiguring** – The bridge is applying configuration changes. Data delivery may be temporarily interrupted until the new configuration is synchronized.
* **Awaiting Data** – The bridge is running and ready, but no source data is currently flowing. Data delivery will begin when data becomes available.

### Managing Bridges

After creating a bridge, you can modify and manage its configuration through the Event Broker Manager.
Expand Down
Loading
Loading