Skip to content
Open
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 @@ -94,222 +94,7 @@ From here, you can manage the default access settings:
* **Publish events it implements**
* **Subscribe to events it implements**

## Mendix Event Broker Bridges {#manage-mx-broker-bridge}

{{% alert color="warning" %}}
This feature is currently in [Private Beta](/releasenotes/release-status/). Contact your Customer Success Manager or Account Manager for further assistance.
{{% /alert %}}

Mendix Event Broker Bridges facilitate integration between the Mendix Event Broker and external technologies, such as AWS SQS and HTTP. These bridges enable the exchange of events between your Mendix Cloud environment and external systems, ensuring efficient communication across diverse technological landscapes.

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

### Standard Message Format

Every event must carry four mandatory CloudEvents core attributes, each prefixed with `ce_`:

* id as `ce_id`
* source as `ce_source`
* specversion as `ce_specversion`
* type as `ce_type`

See [CloudEvents](https://github.com/cloudevents/spec/blob/v1.0.1/spec.md#required-attributes) for more information on required attributes.

#### HTTP Bridges Header

For HTTP Bridges, an additional HTTP header is required for authentication.

* **Authorization** – The value must be set as a Bearer token using the Personal Access Token (PAT) generated during bridge configuration.
For example: `Authorization: Bearer <your-personal-access-token>`

This header must be included in all HTTP requests sent to the Mendix Event Broker via the HTTP Bridge. For details on how to obtain your Bearer token, see [Using the HTTP Bridge](#using-the-http-bridge).

{{% alert color="info" %}}
You can include additional HTTP headers in your request, such as `ce_time: 2025-06-13T15:36:52.148542+02:00`. For example, passing `ce_time` will set the published time of the event. All other custom HTTP headers will be forwarded as Kafka headers by default.
{{% /alert %}}

### Creating a Bridge

Technical Contacts with a license to the Mendix Event Broker can manage this feature from the **Event Broker Bridges** tab on the [Event Broker Manager](https://broker.mendix.com/) page.

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

1. Click **Create a Bridge** to create a new bridge.
2. Select either an **AWS SQS** or an **HTTP** service to configure.

* An AWS SQS bridge uses the [Amazon Simple Queue Service](https://aws.amazon.com/sqs/). The HTTP Bridge uses HTTP requests to send events from external systems to the Mendix Event Broker. The HTTP bridge is one-way: **HTTP to Event Broker**.

3. Click **Next** to continue with creating your bridge.

* For instructions on configuring for AWS SQS, see [Configuring a Bridge with AWS SQS](#bridge-with-aws-sqs)
* For instructions on configuring for HTTP, see [Configuring a Bridge with HTTP](#bridge-with-http)

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

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

#### Configuration Details

1. Select a [Space](#spaces), Name, and Region for the bridge to operate in.

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

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

#### Choose the Business Events to Integrate

The user must select events from the Event Broker landscape of events to send to or receive from AWS SQS. To do this, do the following:

1. Select **Add Business Events** and search for the appropriate 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/event_broker_bridges_create_4_sqs.png" class="no-border" 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/event_broker_bridges_create_5_sqs.png" class="no-border" 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/event_broker_bridges_create_6_sqs.png" class="no-border" 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. You can also choose to **Start Later**.

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

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

#### Configure AWS Access Policy

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

##### Sending Messages to Mendix

Add this object 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 this object 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

Configure the service by filling out the following:

* **Event Broker Space** – the space where the bridge will operate
* **Bridge 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/event_broker_bridges_create_3_http.png" class="no-border" width="400" >}}

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

#### Connect Events

Initially, you will have no business events. Choose the business events to integrate by doing the following:

1. Click **Add Business Events** to open a dialog displaying all events managed by the Event Broker (including Mendix app-defined and uploaded AsyncAPI events). Only events that can **subscribe** are displayed, as this bridge is one-way.
2. Select the event(s) you want to integrate. Once events are selected, the URL for the HTTP connection is automatically generated. No further configuration is required.
3. Click **Next** to integrate the chosen business events.

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

#### Confirmation

On the confirmation screen you can do the following:

* Click **Start** to start the bridge immediately
* Click **Start Later** to continue without starting the bridge

Once The HTTP Bridge has been configured, its configuration and status can be viewed on the **Overview** page.

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

#### 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 **Options** ({{% icon name="three-dots-menu-horizontal" %}}) menu on the Overview page.
2. Add the **Bearer token**.

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

#### Editing an HTTP Bridge

After creating an HTTP Bridge, you can modify its event configuration by adding or removing events as your integration requirements evolve, without needing to recreate the bridge.

{{% alert color="info" %}}You can only edit an HTTP Bridge when its status is **Running**.{{% /alert %}}

To edit an HTTP Bridge:

1. On the [Event Broker Manager](https://broker.mendix.com/) page, navigate to the **Event Broker Bridges** tab.
2. Click the HTTP Bridge you want to modify.
3. Click **Edit** to enter editing mode.

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

In editing mode, you can perform the following actions:

* **Add Business Events**:

1. Click **Add Business Events** to open a dialog that displays available events.
2. Select the events you want to add and click **Select**. Added events will display an **Added** badge and can be removed before applying changes.

* **Remove Business Events**:

1. Navigate to the event you want to remove and click **Remove**. Removed events will display a **Removed** badge, and their name and metadata will appear grayed out.
2. Re-add a removed event by clicking **Add** before applying changes.

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

4. Once you have made your changes, you can:
* Click **Apply** to save and apply the changes. A confirmation message will indicate if the changes were successful. Changes to the event configuration take effect they are applied.
* Click **Cancel** to exit editing mode without saving any changes.

{{% alert color="info" %}}
The **Apply** button is only enabled when changes have been made to the bridge configuration.
{{% /alert %}}

{{% alert color="warning" %}}
If an error occurs during the editing process, the bridge will automatically roll back to its previous running state to ensure continuity of service.
{{% /alert %}}
{{< include "/static/_includes/event-broker-bridges.md" >}}

## Externally Defined Events {#externally-defined-events}

Expand Down
1 change: 1 addition & 0 deletions layouts/shortcodes/include.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ readFile (.Get 0) | markdownify }}
Loading