diff --git a/en_US/data-integration/azure-blob-storage.md b/en_US/data-integration/azure-blob-storage.md index 3ab0cf275..90c254d1b 100644 --- a/en_US/data-integration/azure-blob-storage.md +++ b/en_US/data-integration/azure-blob-storage.md @@ -157,6 +157,8 @@ This section demonstrates how to create a rule in EMQX to process messages from :::: +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + 11. Expand **Advanced Settings** and configure the advanced setting options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). 12. Use the default values for the remaining settings. Click the **Create** button to complete the Sink creation. After successful creation, the page will return to the rule creation, and the new Sink will be added to the rule actions. diff --git a/en_US/data-integration/confluent-sink.md b/en_US/data-integration/confluent-sink.md index 984eb6f2b..f26811b4b 100644 --- a/en_US/data-integration/confluent-sink.md +++ b/en_US/data-integration/confluent-sink.md @@ -227,11 +227,13 @@ This section demonstrates how to create a rule in EMQX to process messages from - **Partition Strategy**: Select how the producer distributes messages to Kafka partitions. - **Compression**: Specify whether to use compression algorithms to compress/decompress records in Kafka messages. -9. Advanced Settings (Optional): Refer to [Advanced Configuration](#advanced-configuration). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Click the **Create** button to complete the creation of the Sink. Once created, the page will return to **Create Rule**, and the new Sink will be added to the rule actions. +10. **Advanced Settings (Optional)**: Refer to [Advanced Configuration](#advanced-configuration). -11. Click the **Create** button to complete the entire rule creation. +11. Click the **Create** button to complete the creation of the Sink. Once created, the page will return to **Create Rule**, and the new Sink will be added to the rule actions. + +12. Click the **Create** button to complete the entire rule creation. Now you have successfully created the rule, and you can see the newly created rule on the **Integration** -> **Rules** page, as well as the newly created Confluent Producer Sink on the **Actions(Sink)** tab. diff --git a/en_US/data-integration/data-bridge-azure-event-hub.md b/en_US/data-integration/data-bridge-azure-event-hub.md index b18fa8382..67feb2bfb 100644 --- a/en_US/data-integration/data-bridge-azure-event-hub.md +++ b/en_US/data-integration/data-bridge-azure-event-hub.md @@ -114,12 +114,14 @@ This section demonstrates how to create a rule with an Azure Event Hubs Sink add - `random`: Randomly pick a partition for each message. - `key_dispatch`: Hash Azure Event Hubs message key to a partition number. - **Partitions Limit**: Limits the maximum number of partitions to which a producer can send messages. It is disabled by default, which means the producer can send messages to all partitions. - -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -10. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). + +11. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +12. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you see the new Azure Event Hubs Sink. diff --git a/en_US/data-integration/data-bridge-cassa.md b/en_US/data-integration/data-bridge-cassa.md index 0dcaaa223..29da44c60 100644 --- a/en_US/data-integration/data-bridge-cassa.md +++ b/en_US/data-integration/data-bridge-cassa.md @@ -132,11 +132,13 @@ This section demonstrates how to create a rule in the Dashboard for processing m insert into mqtt_msg(msgid, topic, qos, payload, arrived) values (${id}, ${topic}, ${qos}, ${payload}, ${timestamp}) ``` -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. +11. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +12. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you see the new Cassandra Sink. diff --git a/en_US/data-integration/data-bridge-clickhouse.md b/en_US/data-integration/data-bridge-clickhouse.md index db73dfcec..7c21dcc9c 100644 --- a/en_US/data-integration/data-bridge-clickhouse.md +++ b/en_US/data-integration/data-bridge-clickhouse.md @@ -151,13 +151,15 @@ This section demonstrates how to create a rule in Dashboard for processing messa ::: -11. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -12. Before clicking **Create**, you can click the **Test Connectivity** button to ensure that you can connect to the ClickHouse server. +12. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -13. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +13. Before clicking **Create**, you can click the **Test Connectivity** button to ensure that you can connect to the ClickHouse server. -14. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. +14. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +15. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you see the new ClickHouse Sink. diff --git a/en_US/data-integration/data-bridge-couchbase.md b/en_US/data-integration/data-bridge-couchbase.md index bf388b8b4..f040c8f7a 100644 --- a/en_US/data-integration/data-bridge-couchbase.md +++ b/en_US/data-integration/data-bridge-couchbase.md @@ -139,9 +139,11 @@ This section demonstrates how to create a rule in Dashboard for processing messa Here, `${.id}` and `${.payload}` represent the MQTT message id and payload, respectively. EMQX will replace them with the corresponding content before forwarding the message. -10. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. Before clicking **Create**, you can click the **Test Connectivity** button to ensure that you can connect to the Couchbase server. +11. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). + +12. Before clicking **Create**, you can click the **Test Connectivity** button to ensure that you can connect to the Couchbase server. 13. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. diff --git a/en_US/data-integration/data-bridge-datalayers.md b/en_US/data-integration/data-bridge-datalayers.md index ffbeb68ce..617da92a4 100644 --- a/en_US/data-integration/data-bridge-datalayers.md +++ b/en_US/data-integration/data-bridge-datalayers.md @@ -120,7 +120,7 @@ This section demonstrates how to create a rule in EMQX to process messages from FROM "t/#" ``` - + ::: tip If you are new to SQL, you can click **SQL Examples** and **Enable Debug** to learn and test the results of the rule SQL. @@ -157,13 +157,15 @@ This section demonstrates how to create a rule in EMQX to process messages from devices,clientid=${clientid} temp=${payload.temp},hum=${payload.hum},precip=${payload.precip}i ${timestamp} ``` -11. Expand **Advanced Settings** and configure advanced options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + +12. Expand **Advanced Settings** and configure advanced options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). -12. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can connect to the Datalayers server. +13. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can connect to the Datalayers server. -13. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink under the **Action Outputs** tab. +14. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink under the **Action Outputs** tab. -14. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +15. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now you have successfully created the rule. You can see the new rule on the **Rules** page. Click the **Actions (Sink)** tab to see the new Datalayers Sink. diff --git a/en_US/data-integration/data-bridge-dynamo.md b/en_US/data-integration/data-bridge-dynamo.md index 6ee439fb7..c240647fc 100644 --- a/en_US/data-integration/data-bridge-dynamo.md +++ b/en_US/data-integration/data-bridge-dynamo.md @@ -209,13 +209,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m ::: -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the server. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for forwarding data through the DynamoDB Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new DynamoDB Sink. diff --git a/en_US/data-integration/data-bridge-gcp-pubsub.md b/en_US/data-integration/data-bridge-gcp-pubsub.md index 15c2a56a9..394ae7366 100644 --- a/en_US/data-integration/data-bridge-gcp-pubsub.md +++ b/en_US/data-integration/data-bridge-gcp-pubsub.md @@ -148,13 +148,15 @@ This section demonstrates how to create a rule to specify the data to be saved i - For **Attributes**, both keys and values may use placeholders of the form `${variable_name}`. Such values will be extracted from the MQTT context. If a key template resolves to an empty string, that key is omitted from the outgoing message to GCP Pub/Sub. - For **Ordering Key**, placeholders of the form `${variable_name}` may be used. If the resolved value is an empty string, the `orderingKey` field will not be set for the GCP Pub/Sub outgoing message. -12. Advanced settings (optional): For details, see [Features of Sink](./data-bridges.md#features-of-sink). +12. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -13. Before clicking **Create**, you can click **Test Connectivity** to test that the Connector can connect to the GCP Pub/Sub server. +13. **Advanced settings (optional)**: For details, see [Features of Sink](./data-bridges.md#features-of-sink). -14. Click the **Create** button to complete the Sink configuration and you will see the new Sink appear under the **Action Outputs** tab. +14. Before clicking **Create**, you can click **Test Connectivity** to test that the Connector can connect to the GCP Pub/Sub server. -15. Back on the **Create Rule** page, click **Create** to create the rule. +15. Click the **Create** button to complete the Sink configuration and you will see the new Sink appear under the **Action Outputs** tab. + +16. Back on the **Create Rule** page, click **Create** to create the rule. You have now successfully created the rule. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new Google PubSub Producer Sink. diff --git a/en_US/data-integration/data-bridge-greptimedb.md b/en_US/data-integration/data-bridge-greptimedb.md index 683126436..e6f9fbabf 100644 --- a/en_US/data-integration/data-bridge-greptimedb.md +++ b/en_US/data-integration/data-bridge-greptimedb.md @@ -131,13 +131,15 @@ This section demonstrates how to create a rule in EMQX to process messages from 9. Specify the **Time Precision**: Select `millisecond` by default. -10. Advanced settings (optional): Choose whether to use **sync** or **async** query mode, and whether to enable queue or batch. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the GreptimeDB server. +11. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode, and whether to enable queue or batch. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +12. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the GreptimeDB server. -13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +13. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +14. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for forwarding data through the GreptimeDB Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new GreptimeDB Sink. diff --git a/en_US/data-integration/data-bridge-hstreamdb.md b/en_US/data-integration/data-bridge-hstreamdb.md index 598469333..772323e0e 100644 --- a/en_US/data-integration/data-bridge-hstreamdb.md +++ b/en_US/data-integration/data-bridge-hstreamdb.md @@ -570,13 +570,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m {"id": ${id}, "topic": "${topic}", "qos": ${qos}, "payload": "${payload}"} ``` -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the HStreamDB server. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the HStreamDB server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for forwarding data and recording online/offline status through the HStreamDB Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new HStreamDB Sink. diff --git a/en_US/data-integration/data-bridge-influxdb.md b/en_US/data-integration/data-bridge-influxdb.md index 1cb72757e..753307190 100644 --- a/en_US/data-integration/data-bridge-influxdb.md +++ b/en_US/data-integration/data-bridge-influxdb.md @@ -131,13 +131,15 @@ This section demonstrates how to create a rule in EMQX to process messages from ::: -11. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -12. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the InfluxDB server. +12. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -13. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +13. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the InfluxDB server. -14. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +14. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +15. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new InfluxDB Sink. diff --git a/en_US/data-integration/data-bridge-iotdb.md b/en_US/data-integration/data-bridge-iotdb.md index ecbf10c54..a730032e4 100644 --- a/en_US/data-integration/data-bridge-iotdb.md +++ b/en_US/data-integration/data-bridge-iotdb.md @@ -165,39 +165,40 @@ This section demonstrates how to create a rule in EMQX to process messages from 10. Configure the **Write Data** to specify the ways to generate IoTDB data from MQTT messages. You can define a template in the **Write Data** section, including as many items as needed, each with the required contextual information per row. When this template is provided, the system will generate IoTDB data by applying it to the MQTT message. The template for writing data supports batch setting via CSV file. For details, refer to [Batch Setting](#batch-setting). - - For example, consider this template: - - | Timestamp | Measurement | Data Type | Value | - | --------- | ----------- | --------- | -------- | - | | index | INT32 | ${index} | - | | temperature | FLOAT | ${temp} | - - :::tip - - `Timestamp` and `Value` support placeholder syntax to fill it with variables. - - If the `Timestamp` is omitted, it will be automatically filled with the current system time in milliseconds. - - ::: - - Then, your MQTT message can be structured as follows: - + + For example, consider this template: + + | Timestamp | Measurement | Data Type | Value | + | --------- | ----------- | --------- | -------- | + | | index | INT32 | ${index} | + | | temperature | FLOAT | ${temp} | + + :::tip + + `Timestamp` and `Value` support placeholder syntax to fill it with variables. + + If the `Timestamp` is omitted, it will be automatically filled with the current system time in milliseconds. + + ::: + + Then, your MQTT message can be structured as follows: + ```json - { - "index": "42", - "temp": "32.67" - } + { + "index": "42", + "temp": "32.67" + } ``` - -11. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + +12. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -12. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the Apache IoTDB server. +13. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the Apache IoTDB server. -13. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +14. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. -14. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +15. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new Apache IoTDB Sink. diff --git a/en_US/data-integration/data-bridge-kafka.md b/en_US/data-integration/data-bridge-kafka.md index 35c02fc4b..b0716428c 100644 --- a/en_US/data-integration/data-bridge-kafka.md +++ b/en_US/data-integration/data-bridge-kafka.md @@ -156,11 +156,13 @@ This section demonstrates how to create a rule in EMQX to process messages from - **Compression**: Specify whether to use compression algorithms to compress/decompress records in Kafka messages. -9. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Click the **Create** button to complete the creation of the Sink. Once created, the page will return to **Create Rule**, and the new Sink will be added to the rule actions. +10. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -11. Click the **Create** button to complete the entire rule creation. +11. Click the **Create** button to complete the creation of the Sink. Once created, the page will return to **Create Rule**, and the new Sink will be added to the rule actions. + +12. Click the **Create** button to complete the entire rule creation. Now you have successfully created the rule, and you can see the newly created rule on the **Integration** -> **Rules** page, as well as the newly created Kafka Producer Sink on the **Actions(Sink)** tab. diff --git a/en_US/data-integration/data-bridge-kinesis.md b/en_US/data-integration/data-bridge-kinesis.md index fc60f9978..c28fa20bd 100644 --- a/en_US/data-integration/data-bridge-kinesis.md +++ b/en_US/data-integration/data-bridge-kinesis.md @@ -143,13 +143,15 @@ This section demonstrates how to create a rule for processing messages from the - If using the defined template, placeholders of the form `${variable_name}` will be filled with the corresponding value from the MQTT context. For example, `${topic}` will be replaced with `my/topic` if such is the MQTT message topic. -11. Advanced settings (optional): Choose whether to use buffer queue and batch mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -12. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Amazon Kinesis Data Streams service. +12. **Advanced settings (optional)**: Choose whether to use buffer queue and batch mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -13. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +13. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Amazon Kinesis Data Streams service. -14. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +14. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +15. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for forwarding data through the Amazon Kinesis Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new Amazon Kinesis Sink. diff --git a/en_US/data-integration/data-bridge-mongodb.md b/en_US/data-integration/data-bridge-mongodb.md index 3327790be..4b73a86a3 100644 --- a/en_US/data-integration/data-bridge-mongodb.md +++ b/en_US/data-integration/data-bridge-mongodb.md @@ -140,9 +140,10 @@ The following steps assume that you run both EMQX and MongoDB on the local machi - **Use Legacy Protocol**: Determine if MongoDB's legacy communication protocol should be used (MongoDB introduced a new wire protocol in version 3.6, with the legacy protocol retained for backward compatibility.). This setting can be set to `true`, `false`, or `auto`. In `auto` mode (default option), EMQX will automatically determine which protocol to use based on the detected MongoDB version. - **Srv Record**: Disabled by default. Once enabled, it allows EMQX to use DNS SRV records to discover the MongoDB hosts it should connect to, which makes it easier to connect to replica sets or sharded clusters without having to specify each host in the connection string. - If you want to establish an encrypted connection, click the **Enable TLS** toggle switch. For more information about TLS connection, see [TLS for External Resource Access](../network/overview.md/#tls-for-external-resource-access). -6. Advanced settings (optional): For details, see [Advanced Configurations](#advanced-configurations). -7. Before clicking **Create**, you can click **Test Connectivity** to test if the Connector can connect to the MongoDB server. -8. Click the **Create** button at the bottom to complete the creation of the Connector. In the pop-up dialog, you can click **Back to Connector List** or click **Create Rule** to continue creating rules and Sink to specify the data to be forwarded to MongoDB. For detailed steps, see [Create a Rule and MongoDB Sink](#create-a-rule-and-mongodb-sink). +6. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. +7. **Advanced settings (optional)**: For details, see [Advanced Configurations](#advanced-configurations). +8. Before clicking **Create**, you can click **Test Connectivity** to test if the Connector can connect to the MongoDB server. +9. Click the **Create** button at the bottom to complete the creation of the Connector. In the pop-up dialog, you can click **Back to Connector List** or click **Create Rule** to continue creating rules and Sink to specify the data to be forwarded to MongoDB. For detailed steps, see [Create a Rule and MongoDB Sink](#create-a-rule-and-mongodb-sink). ## Create a Rule with MongoDB Sink diff --git a/en_US/data-integration/data-bridge-mqtt.md b/en_US/data-integration/data-bridge-mqtt.md index 1c4120249..ac176291d 100644 --- a/en_US/data-integration/data-bridge-mqtt.md +++ b/en_US/data-integration/data-bridge-mqtt.md @@ -151,9 +151,11 @@ This section demonstrates how to create a rule for specifying data to be forward - **Retain**: Select `true`, `false`, or `${flags.retain}` to decide whether to publish the message as retained, or enter a placeholder to set the retain flag from other fields. Here, select `${flags.retain}` to follow the retain flag of the original message. - **Payload**: The template used to generate the payload for the forwarded message. Leave blank by default, which means forwarding the rule output result. Here, you can enter `${payload}` to forward only the payload. -9. Use default values for other configurations and click the **Create** button to complete the creation of the Sink. Once created, you will be directed back to the Create Rule page, and the new Sink will be added to the Action Outputs of the rule. +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. On the Create Rule page, click the **Create** button at the bottom to complete the rule creation. +10. Use default values for other configurations and click the **Create** button to complete the creation of the Sink. Once created, you will be directed back to the Create Rule page, and the new Sink will be added to the Action Outputs of the rule. + +11. On the Create Rule page, click the **Create** button at the bottom to complete the rule creation. You have now successfully created the rule. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new MQTT Broker Sink. diff --git a/en_US/data-integration/data-bridge-mysql.md b/en_US/data-integration/data-bridge-mysql.md index fc48ad656..ad750235a 100644 --- a/en_US/data-integration/data-bridge-mysql.md +++ b/en_US/data-integration/data-bridge-mysql.md @@ -176,11 +176,13 @@ This demonstration assumes that you run both EMQX and MySQL on the local machine ::: -9. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +10. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -11. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new MySQL Sink. diff --git a/en_US/data-integration/data-bridge-opents.md b/en_US/data-integration/data-bridge-opents.md index f1eb11e50..f9527c896 100644 --- a/en_US/data-integration/data-bridge-opents.md +++ b/en_US/data-integration/data-bridge-opents.md @@ -127,13 +127,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m - **Tags**: Tags are used to describe additional information about the metric. Here, the tag is `"tags": {"host": "serverA"}`, indicating that this metric data comes from host `serverA`. - **Value**: This is the actual metric value. In this example, it is `"value": 12`, indicating the metric value is 12. -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see the relevant configuration information in [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the OpenTSDB server. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see the relevant configuration information in [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the OpenTSDB server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for forwarding data through the OpenTSDB Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new OpenTSDB Sink. diff --git a/en_US/data-integration/data-bridge-oracle.md b/en_US/data-integration/data-bridge-oracle.md index 687315ca2..5e1522065 100644 --- a/en_US/data-integration/data-bridge-oracle.md +++ b/en_US/data-integration/data-bridge-oracle.md @@ -134,7 +134,7 @@ This section demonstrates how to create a rule in the Dashboard for processing m FROM "t/#" ``` - + Note: If you are a beginner user, click **SQL Examples** and **Enable Test** to learn and test the SQL rule. 4. Click the + **Add Action** button to define an action to be triggered by the rule. With this action, EMQX sends the data processed by the rule to Oracle Database. @@ -160,10 +160,10 @@ This section demonstrates how to create a rule in the Dashboard for processing m TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + NUMTODSINTERVAL(${timestamp}/1000, 'SECOND') ) ``` - -9. Leave other options as default. -10. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see the relevant configuration information in [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see the relevant configuration information in [Features of Sink](./data-bridges.md#features-of-sink). 11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Oracle Database server. diff --git a/en_US/data-integration/data-bridge-pgsql.md b/en_US/data-integration/data-bridge-pgsql.md index 1c29b02e8..080dc9caa 100644 --- a/en_US/data-integration/data-bridge-pgsql.md +++ b/en_US/data-integration/data-bridge-pgsql.md @@ -176,13 +176,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m ) ``` -9. Advanced settings (optional): For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the PostgreSQL server. +10. **Advanced settings (optional)**: For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the PostgreSQL server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now that you have successfully created the rule, you can click **Integration** -> **Rules** page to see the newly created rule and also see the newly created PostgreSQL Sink in the **Action (Sink)** tab. diff --git a/en_US/data-integration/data-bridge-pulsar.md b/en_US/data-integration/data-bridge-pulsar.md index f9609d849..6f4a9222f 100644 --- a/en_US/data-integration/data-bridge-pulsar.md +++ b/en_US/data-integration/data-bridge-pulsar.md @@ -129,13 +129,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m - **Message Key**: Pulsar message key. Insert a string here, either a plain string or a string containing placeholders (${var}). - **Message Value**: Pulsar message value. Insert a string here, either a plain string or a string containing placeholders (${var}). -11. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -12. Before clicking **Create**, you can click **Test Connectivity** to test that the Connector can connect to the Pulsar server. +12. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -13. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +13. Before clicking **Create**, you can click **Test Connectivity** to test that the Connector can connect to the Pulsar server. -14. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +14. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +15. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new Pulsar Sink. diff --git a/en_US/data-integration/data-bridge-rabbitmq.md b/en_US/data-integration/data-bridge-rabbitmq.md index 25d0b7a48..f94ad3bf9 100644 --- a/en_US/data-integration/data-bridge-rabbitmq.md +++ b/en_US/data-integration/data-bridge-rabbitmq.md @@ -209,7 +209,9 @@ This section demonstrates how to create a rule in the Dashboard for processing m ::: -11. Advanced settings (optional): +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + +11. **Advanced settings (optional)**: - **Publish Confirmation Timeout**: `30` seconds by default. The publish confirmation timeout determines the duration the publisher will wait for the broker's acknowledgment before considering the publish operation a failure. - Choose whether to use **sync** or **async** query mode as needed. For details, see the relevant configuration information in [Features of Sink](./data-bridges.md#features-of-sink). diff --git a/en_US/data-integration/data-bridge-redis.md b/en_US/data-integration/data-bridge-redis.md index 26da5d16a..cee01760d 100644 --- a/en_US/data-integration/data-bridge-redis.md +++ b/en_US/data-integration/data-bridge-redis.md @@ -160,13 +160,15 @@ You need to create 2 separate Redis Sinks for the messaging caching and statisti Each time the command is executed, the corresponding counter is incremented by 1. -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Redis server. +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Redis server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created a rule for the Redis Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new Redis Sink. diff --git a/en_US/data-integration/data-bridge-rocketmq.md b/en_US/data-integration/data-bridge-rocketmq.md index eae70dc49..b24f8ad57 100644 --- a/en_US/data-integration/data-bridge-rocketmq.md +++ b/en_US/data-integration/data-bridge-rocketmq.md @@ -190,7 +190,7 @@ This section demonstrates how to create a rule in the Dashboard for processing m 6. Enter a name for the Sink. The name should be a combination of upper/lower case letters and numbers. -8. From the **Connector** dropdown box, select the `my_rocketmq` created before. You can also create a new Connector by clicking the button next to the dropdown box. For the configuration parameters, see [Create a Connector](#create-a-connector). +7. From the **Connector** dropdown box, select the `my_rocketmq` created before. You can also create a new Connector by clicking the button next to the dropdown box. For the configuration parameters, see [Create a Connector](#create-a-connector). 8. In the **RocketMQ Topic** field, enter `TopicTest`. @@ -202,13 +202,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m ::: -10. Advanced settings (optional): For details, see [Features of Sink](./data-bridges.md#features-of-sink). +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the RocketMQ server. +11. **Advanced settings (optional)**: For details, see [Features of Sink](./data-bridges.md#features-of-sink). -12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +12. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the RocketMQ server. -13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +13. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +14. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for the RocketMQ Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new RocketMQ Sink. diff --git a/en_US/data-integration/data-bridge-sqlserver.md b/en_US/data-integration/data-bridge-sqlserver.md index 5704ccb23..9ac3ef3d4 100644 --- a/en_US/data-integration/data-bridge-sqlserver.md +++ b/en_US/data-integration/data-bridge-sqlserver.md @@ -320,13 +320,15 @@ This section demonstrates how to create a rule in the Dashboard for processing m ::: -9. Advanced settings (optional): For details, see [Features of Sink](./data-bridges.md#features-of-sink). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Microsoft SQL Server. +10. **Advanced settings (optional)**: For details, see [Features of Sink](./data-bridges.md#features-of-sink). -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the Microsoft SQL Server. -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** + +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for the Microsoft SQL Server Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new Microsoft SQL Server Sink. diff --git a/en_US/data-integration/data-bridge-tdengine.md b/en_US/data-integration/data-bridge-tdengine.md index e9b680dc6..87131c67e 100644 --- a/en_US/data-integration/data-bridge-tdengine.md +++ b/en_US/data-integration/data-bridge-tdengine.md @@ -192,13 +192,13 @@ This section demonstrates how to create a rule in the Dashboard for processing m FROM "t/#" ``` - + ::: tip If you are a beginner user, click **SQL Examples** and **Enable Test** to learn and test the SQL rule. ::: - + 4. Click the + **Add Action** button to define an action to be triggered by the rule. With this action, EMQX sends the data processed by the rule to TDengine. 5. Select `TDengine` from the **Type of Action** dropdown list. Keep the **Action** dropdown with the default `Create Action` value. You can also select a TDengine Sink if you have created one. This demonstration will create a new Sink. @@ -219,26 +219,28 @@ This section demonstrates how to create a rule in the Dashboard for processing m INSERT INTO t_mqtt_msg(ts, msgid, mqtt_topic, qos, payload, arrived) VALUES (${ts}, '${id}', '${topic}', ${qos}, '${payload}', ${timestamp}) ``` - + If a placeholder variable is undefined in the SQL template, you can toggle the **Undefined Vars as Null** switch above the **SQL template** to define the rule engine behavior: - + - **Disabled** (default): The rule engine can insert the string `undefined` into the database. - + - **Enabled**: Allow the rule engine to insert `NULL` into the database when a variable is undefined. - + ::: tip - + If possible, this option should always be enabled; disabling the option is only used to ensure backward compatibility. - + ::: - -9. Advanced settings (optional): Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). -10. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the TDengine. +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. + +10. **Advanced settings (optional)**: Choose whether to use **sync** or **async** query mode as needed. For details, see [Features of Sink](./data-bridges.md#features-of-sink). + +11. Before clicking **Create**, you can click **Test Connectivity** to test that the Sink can be connected to the TDengine. -11. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** +12. Click the **Create** button to complete the Sink configuration. A new Sink will be added to the **Action Outputs.** -12. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +13. Back on the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. You have now successfully created the rule for the TDengine Sink. You can see the newly created rule on the **Integration** -> **Rules** page. Click the **Actions(Sink)** tab and you can see the new TDengine Sink. diff --git a/en_US/data-integration/data-bridge-timescale.md b/en_US/data-integration/data-bridge-timescale.md index 93f80ee32..b37dfd118 100644 --- a/en_US/data-integration/data-bridge-timescale.md +++ b/en_US/data-integration/data-bridge-timescale.md @@ -190,11 +190,13 @@ This section demonstrates how to create a rule in the Dashboard for processing m (NOW(), ${location}, ${temp}, ${humidity}) ``` -9. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. Click the **Add** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +10. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -11. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. +11. Click the **Add** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +12. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. The rule you created is shown in the rule list and the **status** should be connected. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new TimescaleDB Sink. diff --git a/en_US/data-integration/data-bridge-webhook.md b/en_US/data-integration/data-bridge-webhook.md index bb791f8a9..2e0365a57 100644 --- a/en_US/data-integration/data-bridge-webhook.md +++ b/en_US/data-integration/data-bridge-webhook.md @@ -130,9 +130,11 @@ This section demonstrates how to create a rule with an HTTP Server Sink added to 8. Set **URL** to `http://localhost:5000`. Select `POST` from the **Method** dropdown box. For the rest, you can keep the default value. -9. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +9. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -10. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. +10. Click the **Create** button to complete the Sink configuration. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +11. On the **Create Rule** page, verify the configured information and click the **Create** button to generate the rule. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new HTTP Server Sink. diff --git a/en_US/data-integration/data-bridges.md b/en_US/data-integration/data-bridges.md index f8295c5d6..767c59c81 100644 --- a/en_US/data-integration/data-bridges.md +++ b/en_US/data-integration/data-bridges.md @@ -13,7 +13,7 @@ This process allows EMQX to extend beyond just message transmission between IoT - Currently, EMQX only supports the following external data systems to be served as Sources: - MQTT Services - - Kafka + - Kafka - GCP PubSub Among them, Kafka and GCP PubSub Sources are only supported in the EMQX Enterprise edition. @@ -180,6 +180,68 @@ INSERT INTO msg(topic, qos, payload) VALUES(${topic}, ${qos}, ${payload}); In addition to automatically inferring field types, the prepared statement technology also prevents SQL injection to enhance security. +### Fallback Actions + +Starting from EMQX 5.9.0, you can define a set of fallback actions for any given action. These fallback actions will be triggered when the primary action fails to process a message. This mechanism helps improve data reliability and observability by allowing messages to be redirected to secondary targets such as another Sink or a republish action. + +Fallback actions can be used to: + +- Forward failed messages to a backup data system (e.g., another Sink). +- Republish failed messages to a monitoring topic for troubleshooting or alerting. +- Minimize data loss in the event of temporary issues with the primary action. + +#### Key Characteristics + +- Fallback actions are triggered only when the primary action fails to process a message. Failures include delivery errors, buffer overflow, and request TTL expiry. +- They always operate in asynchronous request mode, regardless of their own configuration. +- All defined fallback actions will be triggered concurrently. EMQX does not attempt them one-by-one or stop at the first success. +- Fallback actions share the same buffering mechanism as regular actions, meaning messages are retried up to their request TTL or if there is buffer overflow. +- Fallback actions do **not** trigger further fallback actions. If a fallback action itself fails, its own configured fallback actions (if any) will **not** be triggered. +- Processing of messages by fallback actions do not affect metrics of their primary actions or of the original rule that triggered the primary action. + +#### Define a Fallback Action + +Suppose you have an HTTP action named `my_http`, and you want to define fallback actions for it. You also have an existing MQTT action called `fallback`. + +You can configure the fallback logic as follows: + +```hcl +actions { + http { + my_http { + fallback_actions = [ + {kind = reference, type = mqtt, name = fallback}, + { + kind = republish, + args = { + topic = "fallback/republish/topic" + qos = 1 + payload = "${payload}" + } + } + ] + # other configs omitted + } + } + mqtt { + fallback { + fallback_actions = [ + {kind = reference, type = mqtt, name = another_fallback} + ] + # other configs omitted + } + } +} +``` + +In this example: + +- If the HTTP action `my_http` fails, the message will be: + - Forwarded to the MQTT action `fallback` + - Republished to the topic `fallback/republish/topic` +- If `fallback` also fails, the fallback action `another_fallback` defined under `fallback` will **not** be triggered. Fallback actions do not support recursive chaining. +- If `fallback` is triggered as a primary action in a different rule and fails, then its own fallback (`another_fallback`) would apply. + ## Sink Status and Statistics You can view the running status and statistics of a Sink on the Dashboard to know if the Sink is operating properly. @@ -220,7 +282,7 @@ The `success` statistic counts the number of messages that were successfully rec The `failed` statistic counts the number of messages that failed to be received by the external data system. `retried.failed` is a sub-count of `failed` which tracks the number of messages with delivery retried at least once. Therefore, `retried.failed <= failed`. -#### Dropped +#### Dropped The `dropped` statistic counts the number of messages that were dropped without any delivery attempt. It contains several more specific categories, each indicating a distinct reason for the drop. The calculation for `dropped` is:`dropped = dropped.expired + dropped.queue_full + dropped.resource_stopped + dropped.resource_not_found`. diff --git a/en_US/data-integration/elasticsearch.md b/en_US/data-integration/elasticsearch.md index acd57a5fd..e1ba7f06b 100644 --- a/en_US/data-integration/elasticsearch.md +++ b/en_US/data-integration/elasticsearch.md @@ -120,13 +120,13 @@ This section demonstrates how to create a rule in EMQX to process messages from FROM "t/#" ``` - + ::: tip - + If you are new to SQL, you can click **SQL Examples** and **Enable Debugging** to learn and test the rule SQL results. - + ::: - + 4. Click **Add Action**. Select `Elasticsearch` from the **Action Type** dropdown list. Keep the **Action** dropdown box as the default `Create Action` option. Or, you can select a previously created Elasticsearch action from the action dropdown box. This demonstration will create a new Sink and add it to the rule. 5. Enter the name and description of the Sink. @@ -161,9 +161,10 @@ This section demonstrates how to create a rule in EMQX to process messages from } ``` -8. Keep the rest of the parameters at their default values. -9. Click the **Create** button to complete the creation of the Sink. The new Sink will be added to the **Action Outputs**. -10. Back on the Create Rule page, click the **Create** button to complete the entire rule creation. +8. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. +9. Keep the rest of the parameters at their default values. +10. Click the **Create** button to complete the creation of the Sink. The new Sink will be added to the **Action Outputs**. +11. Back on the Create Rule page, click the **Create** button to complete the entire rule creation. Now you have successfully created the rule. You can see the newly created rule on the **Rules** page and the new Elasticsearch Sink under the **Actions (Sink)** tab. diff --git a/en_US/data-integration/s3.md b/en_US/data-integration/s3.md index 6b6b053c0..9c413f9ac 100644 --- a/en_US/data-integration/s3.md +++ b/en_US/data-integration/s3.md @@ -158,7 +158,7 @@ This section demonstrates how to create a rule in EMQX to process messages from 7. Set the **Bucket** by entering `iot-data`. This field also supports `${var}` format placeholders, but ensure the corresponding name bucket is created in S3 in advance. -9. Select **ACL** as needed, specifying the access permission for the uploaded object. +8. Select **ACL** as needed, specifying the access permission for the uploaded object. 9. Select the **Upload Method**. The differences between the two methods are as follows: @@ -209,11 +209,13 @@ This section demonstrates how to create a rule in EMQX to process messages from 10. Set the **Object Content**. By default, it is a JSON text format containing all fields. It supports `${var}` format placeholders. Here, enter `${payload}` to indicate using the message body as the object content. In this case, the object's storage format depends on the message body's format, supporting compressed packages, images, or other binary formats. -11. Expand **Advanced Settings** and configure the advanced setting options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). +11. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -12. Use the default values for the remaining settings. Click the **Create** button to complete the Sink creation. After successful creation, the page will return to the rule creation, and the new Sink will be added to the rule actions. +12. Expand **Advanced Settings** and configure the advanced setting options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). -13. Back on the rule creation page, click the **Create** button to complete the entire rule creation process. +13. Use the default values for the remaining settings. Click the **Create** button to complete the Sink creation. After successful creation, the page will return to the rule creation, and the new Sink will be added to the rule actions. + +14. Back on the rule creation page, click the **Create** button to complete the entire rule creation process. You have now successfully created the rule. You can see the newly created rule on the **Rules** page and the new S3 Sink on the **Actions (Sink)** tab. diff --git a/en_US/data-integration/snowflake.md b/en_US/data-integration/snowflake.md index b86aea00d..454116d07 100644 --- a/en_US/data-integration/snowflake.md +++ b/en_US/data-integration/snowflake.md @@ -280,11 +280,13 @@ This section demonstrates how to create a rule in EMQX to process messages from - **Time Interval**: Set the time interval (in seconds) at which aggregation occurs. For example, if set to `60`, data will be uploaded every 60 seconds even if the maximum number of records hasn’t been reached, resetting the maximum number of records. -10. Expand **Advanced Settings** and configure the advanced setting options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. Use the default values for the remaining settings. Click the **Create** button to complete the Sink creation. After successful creation, the page will return to the rule creation, and the new Sink will be added to the rule actions. +11. Expand **Advanced Settings** and configure the advanced setting options as needed (optional). For more details, refer to [Advanced Settings](#advanced-settings). -12. Back on the rule creation page, click the **Create** button to complete the entire rule creation process. +12. Use the default values for the remaining settings. Click the **Create** button to complete the Sink creation. After successful creation, the page will return to the rule creation, and the new Sink will be added to the rule actions. + +13. Back on the rule creation page, click the **Create** button to complete the entire rule creation process. You have now successfully created the rule. You can see the newly created rule on the **Rules** page and the new Snowflake Sink on the **Actions (Sink)** tab. diff --git a/en_US/data-integration/syskeeper.md b/en_US/data-integration/syskeeper.md index fbab97441..1273b6a23 100644 --- a/en_US/data-integration/syskeeper.md +++ b/en_US/data-integration/syskeeper.md @@ -116,9 +116,11 @@ This section demonstrates how to create a rule in EMQX to process messages from - **QoS**: The QoS for the republished messages. - **Message Template**: The payload template for the republished messages. The placeholders are supported, for example, `${payload}`. -10. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +11. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +12. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new SysKeeper Forwarder. diff --git a/en_US/data-integration/tablestore.md b/en_US/data-integration/tablestore.md index 73e6b336e..df779b16e 100644 --- a/en_US/data-integration/tablestore.md +++ b/en_US/data-integration/tablestore.md @@ -166,13 +166,15 @@ This section demonstrates how to create a rule in EMQX to process messages from - `MUM_IGNORE`: Ignores metadata updates, ensuring that metadata remains unchanged even if there are conflicting updates. - `MUM_NORMAL`: Performs a normal metadata update. If the metadata does not exist, it will be dynamically created before writing the data. If there is a conflict with existing metadata, it may be overwritten. -10. Advanced settings (optional): See [Advanced Configurations](#advanced-configurations). +10. **Fallback Actions (Optional)**: If you want to improve reliability in case of message delivery failure, you can define one or more fallback actions. These actions will be triggered if the primary Sink fails to process a message. See [Fallback Actions](./data-bridges.md#fallback-actions) for more details. -11. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the Tablestore server. +11. **Advanced settings (optional)**: See [Advanced Configurations](#advanced-configurations). -12. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. +12. Before clicking **Create**, you can click **Test Connectivity** to test if the Sink can be connected to the Tablestore server. -13. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. +13. Click **Create** to complete the Sink creation. Back on the **Create Rule** page, you will see the new Sink appear under the **Action Outputs** tab. + +14. On the **Create Rule** page, verify the configured information. Click the **Create** button to generate the rule. Now you have successfully created the rule and you can see the new rule appear on the **Rule** page. Click the **Actions(Sink)** tab, you can see the new Tablestore Sink. diff --git a/zh_CN/data-integration/azure-blob-storage.md b/zh_CN/data-integration/azure-blob-storage.md index 4d77ece55..12526d6b2 100644 --- a/zh_CN/data-integration/azure-blob-storage.md +++ b/zh_CN/data-integration/azure-blob-storage.md @@ -158,11 +158,13 @@ EMQX 利用规则引擎和数据接收器将设备事件和数据转发到 Azure :::: -10. 展开**高级设置**,根据需要配置高级设置选项(可选)。有关详细信息,请参阅[高级设置](#advanced-settings)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 其余设置使用默认值。点击**创建**按钮完成数据接收器的创建。创建成功后,页面将返回到规则创建,新的数据接收器将被添加到规则操作中。 +11. 展开**高级设置**,根据需要配置高级设置选项(可选)。有关详细信息,请参阅[高级设置](#advanced-settings)。 -12. 返回到规则创建页面,点击**创建**按钮完成整个规则创建过程。 +12. 其余设置使用默认值。点击**创建**按钮完成数据接收器的创建。创建成功后,页面将返回到规则创建,新的数据接收器将被添加到规则操作中。 + +13. 返回到规则创建页面,点击**创建**按钮完成整个规则创建过程。 现在您已成功创建规则。您可以在**规则**页面上看到新创建的规则,以及在**动作 (Sink)** 选项卡上的新 Azure Blob Storage Sink。 diff --git a/zh_CN/data-integration/confluent-sink.md b/zh_CN/data-integration/confluent-sink.md index ab240f0a5..80cd20807 100644 --- a/zh_CN/data-integration/confluent-sink.md +++ b/zh_CN/data-integration/confluent-sink.md @@ -231,10 +231,12 @@ confluent kafka topic consume -b testtopic-in - **分区选择策略**:选择生产者向 Kafka 分区分发消息的方式。 - **压缩**:指定是否使用压缩算法压缩/解压 Kafka 消息中的记录。 -9. 高级设置(可选):请参阅 [高级配置](#高级配置)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 点击 **创建** 按钮完成 Sink 的创建,创建成功后页面将回到**创建规则**,新的 Sink 将添加到规则动作中。 -11. 点击 **创建** 按钮完成整个规则创建。 +10. **高级设置(可选)**:请参阅 [高级配置](#高级配置)。 + +11. 点击 **创建** 按钮完成 Sink 的创建,创建成功后页面将回到**创建规则**,新的 Sink 将添加到规则动作中。 +12. 点击 **创建** 按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 Confluent 生产者 Sink。 diff --git a/zh_CN/data-integration/data-bridge-azure-event-hub.md b/zh_CN/data-integration/data-bridge-azure-event-hub.md index a5e5f4bd4..a7eb5e088 100644 --- a/zh_CN/data-integration/data-bridge-azure-event-hub.md +++ b/zh_CN/data-integration/data-bridge-azure-event-hub.md @@ -121,13 +121,15 @@ EMQX 与 Azure Event Hubs 的数据集成可以为您的业务带来以下功能 - **分区限制**:限制生产者能够发送消息的最大分区数量。默认为关闭,即可以发送到所有分区。 -9. 高级设置(可选):根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在点击**创建**之前,您可以点击**测试连接**测试 Sink 是否能够连接到 Azure Event Hubs 服务器。 +10. **高级设置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 -11. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +11. 在点击**创建**之前,您可以点击**测试连接**测试 Sink 是否能够连接到 Azure Event Hubs 服务器。 -12. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +12. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 + +13. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 Azure Event Hubs Sink。 diff --git a/zh_CN/data-integration/data-bridge-cassa.md b/zh_CN/data-integration/data-bridge-cassa.md index d96a5dc86..2dc0577fe 100644 --- a/zh_CN/data-integration/data-bridge-cassa.md +++ b/zh_CN/data-integration/data-bridge-cassa.md @@ -131,11 +131,13 @@ docker exec -it cassa cqlsh "-e \ insert into mqtt_msg(msgid, topic, qos, payload, arrived) values (${id}, ${topic}, ${qos}, ${payload}, ${timestamp}) ``` -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +10. **高级配置(可选)**,根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 -11. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +11. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 + +12. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 Cassanadra Sink。 diff --git a/zh_CN/data-integration/data-bridge-clickhouse.md b/zh_CN/data-integration/data-bridge-clickhouse.md index aa02dfe11..40ea22e63 100644 --- a/zh_CN/data-integration/data-bridge-clickhouse.md +++ b/zh_CN/data-integration/data-bridge-clickhouse.md @@ -154,10 +154,11 @@ ClickHouse 数据集成是 EMQX 中的开箱即用功能,旨在结合 MQTT 的 ::: -11. 高级设置(可选):具体可阅读[ 高级配置](#高级配置)。 -12. 点击**创建**前,您可点击**测试连接**按钮确保能连接到 ClickHouse 服务器。 -13. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 -14. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +11. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 +12. **高级设置(可选)**:具体可阅读[ 高级配置](#高级配置)。 +13. 点击**创建**前,您可点击**测试连接**按钮确保能连接到 ClickHouse 服务器。 +14. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +15. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 ClickHouse Sink。 diff --git a/zh_CN/data-integration/data-bridge-couchbase.md b/zh_CN/data-integration/data-bridge-couchbase.md index c19dda197..131a377cf 100644 --- a/zh_CN/data-integration/data-bridge-couchbase.md +++ b/zh_CN/data-integration/data-bridge-couchbase.md @@ -137,13 +137,15 @@ Couchbase 数据集成是 EMQX 中开箱即用的功能,旨在将 MQTT 的实 其中,`${.id}` 和 `${.payload}` 分别表示 MQTT 消息的 id 和 payload。在转发消息之前,EMQX 会用相应的内容替换它们。 -10. 高级设置(可选):请参阅[高级配置](#高级配置)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 在点击**创建**之前,您可以点击**测试连接**按钮,确保能够连接到 Couchbase 服务器。 +11. **高级设置(可选)**:请参阅[高级配置](#高级配置)。 -12. 点击**创建**按钮完成 Sink 配置。在**创建规则**页面,您将在**动作输出**选项卡下看到新的 Sink。 +12. 在点击**创建**之前,您可以点击**测试连接**按钮,确保能够连接到 Couchbase 服务器。 -13. 在**创建规则**页面,验证配置信息并点击**创建**按钮生成规则。您创建的规则将显示在规则列表中,**状态**应为已连接。 +13. 点击**创建**按钮完成 Sink 配置。在**创建规则**页面,您将在**动作输出**选项卡下看到新的 Sink。 + +14. 在**创建规则**页面,验证配置信息并点击**创建**按钮生成规则。您创建的规则将显示在规则列表中,**状态**应为已连接。 现在,您已成功创建规则,您可以在**规则**页面上看到新规则。点击 **动作 (Sink)** 选项卡,您会看到新的 Couchbase Sink。 diff --git a/zh_CN/data-integration/data-bridge-datalayers.md b/zh_CN/data-integration/data-bridge-datalayers.md index 151fc88a5..6014947bb 100644 --- a/zh_CN/data-integration/data-bridge-datalayers.md +++ b/zh_CN/data-integration/data-bridge-datalayers.md @@ -152,18 +152,20 @@ Datalayers 数据集成具有以下特性与优势: ::: 此处,我们可以使用 Line Protocol 格式,将其设置为: - + ```sql devices,clientid=${clientid} temp=${payload.temp},hum=${payload.hum},precip=${payload.precip}i ${timestamp} ``` -11. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +11. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +12. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -12. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 Datalayers 服务器。 +13. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 Datalayers 服务器。 -13. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 +14. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 -14. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 +15. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 现在您已成功创建规则,您可以在**规则**页面上看到新的规则。点击**动作(Sink)**标签,您可以看到新的 Datalayers Sink。 diff --git a/zh_CN/data-integration/data-bridge-dynamo.md b/zh_CN/data-integration/data-bridge-dynamo.md index cf436a790..819533be2 100644 --- a/zh_CN/data-integration/data-bridge-dynamo.md +++ b/zh_CN/data-integration/data-bridge-dynamo.md @@ -200,13 +200,15 @@ DynamoDB 数据集成是 EMQX 中的开箱即用功能,它结合了 EMQX 的 ::: -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 DynamoDB 服务器。 +10. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md)。 -11. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 DynamoDB 服务器。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 Sink 将数据转发到 DynamoDB 的规则,同时在**规则**页面的**动作(Sink)** 标签页可以看到新建的 DynamoDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-gcp-pubsub.md b/zh_CN/data-integration/data-bridge-gcp-pubsub.md index ccd5a9d7a..e2ee3a2a4 100644 --- a/zh_CN/data-integration/data-bridge-gcp-pubsub.md +++ b/zh_CN/data-integration/data-bridge-gcp-pubsub.md @@ -135,10 +135,11 @@ MQTT 消息数据写入到 GCP PusSub 后,您可以进行灵活的应用开发 - 对于 **属性模版**,键和值都可以使用形式为 `${variable_name}` 的占位符。这些值将从 MQTT 上下文中提取。如果键模板解析为空字符串,则该键不会包含在传出到 GCP Pub/Sub 的消息中。 - 对于 **排序键模版**,可以使用形式为 `${variable_name}` 的占位符。如果解析的值为空字符串,则不会为 GCP Pub/Sub 传出消息设置 `orderingKey` 字段。 -12. 高级设置(可选):详细信息,请参见 [Sink 的特性](./data-bridges.md#sink-的特性)。 -13. 在点击 **创建** 之前,您可以点击 **测试连接性** 来测试连接器是否能连接到 GCP Pub/Sub 服务器。 -14. 点击 **创建** 按钮完成 Sink 配置,您将在 **动作输出** 标签下看到新的 Sink。 -15. 回到 **创建规则** 页面,点击 **创建** 来创建规则。 +12. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 +13. **高级设置(可选)**:详细信息,请参见 [Sink 的特性](./data-bridges.md#sink-的特性)。 +14. 在点击 **创建** 之前,您可以点击 **测试连接性** 来测试连接器是否能连接到 GCP Pub/Sub 服务器。 +15. 点击 **创建** 按钮完成 Sink 配置,您将在 **动作输出** 标签下看到新的 Sink。 +16. 回到 **创建规则** 页面,点击 **创建** 来创建规则。 您现在已成功创建了规则。您可以在 **集成** -> **规则** 页面看到新创建的规则。点击 **动作(Sink)** 标签,您可以看到新的 Google PubSub 生产者 Sink。 diff --git a/zh_CN/data-integration/data-bridge-greptimedb.md b/zh_CN/data-integration/data-bridge-greptimedb.md index 153b701af..6c94cb9d4 100644 --- a/zh_CN/data-integration/data-bridge-greptimedb.md +++ b/zh_CN/data-integration/data-bridge-greptimedb.md @@ -134,11 +134,13 @@ greptime/greptimedb standalone start \ 9. 选择**时间精度**:使用默认值`毫秒`。 -10. 高级配置(可选),根据情况配置同步/异步模式,队列等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. **高级配置(可选)**,根据情况配置同步/异步模式,队列等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 GreptimeDB Sink 将数据转发到 GreptimeDB 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 GreptimeDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-hstreamdb.md b/zh_CN/data-integration/data-bridge-hstreamdb.md index d47a088bd..5d5da9be4 100644 --- a/zh_CN/data-integration/data-bridge-hstreamdb.md +++ b/zh_CN/data-integration/data-bridge-hstreamdb.md @@ -558,11 +558,13 @@ HStreamDB 资源已连接状态下,在 HStreamDB 中对 Stream 进行操作, {"id": ${id}, "topic": "${topic}", "qos": ${qos}, "payload": "${payload}"} ``` -8. 高级配置(可选),根据情况配置同步/异步模式,队列等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +8. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -9. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +9. **高级配置(可选)**:根据情况配置同步/异步模式,队列等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 -10. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +10. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +11. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 HStreamDB Sink 将数据转发到 HStreamDB 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 HStreamDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-influxdb.md b/zh_CN/data-integration/data-bridge-influxdb.md index 923f71880..84d7bdc2d 100644 --- a/zh_CN/data-integration/data-bridge-influxdb.md +++ b/zh_CN/data-integration/data-bridge-influxdb.md @@ -135,13 +135,15 @@ docker run --name influxdb -p 8086:8086 influxdb:2.5.1 对于 InfluxDB 2.x 中支持的无符号整型值,请在占位符后添加 `u` 作为类型标识,例如 `${payload.uint}u`。参见 [InfluxDB 2.6 无符号整型](https://docs.influxdata.com/influxdb/v2.6/reference/syntax/line-protocol/#uinteger)。 ::: -11. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +11. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -12. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 InfluxDB 服务器。 +12. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -13. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 +13. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 InfluxDB 服务器。 -14. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 +14. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 + +15. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 现在您已成功创建规则,您可以在**规则**页面上看到新的规则。点击**动作(Sink)**标签,您可以看到新的 InfluxDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-iotdb.md b/zh_CN/data-integration/data-bridge-iotdb.md index c739c9ef3..18c8fc7c4 100644 --- a/zh_CN/data-integration/data-bridge-iotdb.md +++ b/zh_CN/data-integration/data-bridge-iotdb.md @@ -172,29 +172,31 @@ EMQX 支持通过 REST API 或 Thrift 协议与 IotDB 通信。 | ------ | ----------- | -------- | -------- | | | index | INT32 | ${index} | | | temperature | FLOAT | ${temp} | - + ::: tip - + 每列支持占位符语法以用变量填充。如果省略时间戳,它将自动填充为当前系统时间(毫秒)。 ::: 然后,您的 MQTT 消息将如下所示: - + ```json { "index": "42", "temp": "32.67" -} + } ``` -11. 展开 **高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +11. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +12. 展开 **高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -12. 在点击 **创建** 之前,您可以点击 **测试连接**,以测试 Sink 是否能够连接到 Apache IoTDB 服务器。 +13. 在点击 **创建** 之前,您可以点击 **测试连接**,以测试 Sink 是否能够连接到 Apache IoTDB 服务器。 -13. 点击 **创建** 完成 Sink 的创建。回到 **创建规则** 页面,您将看到新的 Sink 出现在 **动作输出** 标签下。 +14. 点击 **创建** 完成 Sink 的创建。回到 **创建规则** 页面,您将看到新的 Sink 出现在 **动作输出** 标签下。 -14. 回到 **创建规则** 页面,验证配置的信息。点击 **创建** 按钮生成规则。 +15. 回到 **创建规则** 页面,验证配置的信息。点击 **创建** 按钮生成规则。 现在您已成功创建规则,您可以在 **规则** 页面上看到新的规则。点击 **动作(Sink)** 标签,您可以看到新的 Apache IoTDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-kafka.md b/zh_CN/data-integration/data-bridge-kafka.md index 9d51917ac..4cedf46c8 100644 --- a/zh_CN/data-integration/data-bridge-kafka.md +++ b/zh_CN/data-integration/data-bridge-kafka.md @@ -154,11 +154,13 @@ bin/kafka-topics.sh --create --topic testtopic-out --bootstrap-server localhost: - **压缩**:指定是否使用压缩算法压缩/解压 Kafka 消息中的记录。 -9. 高级设置(可选):请参阅 [高级配置](#高级配置)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 点击 **创建** 按钮完成 Sink 的创建,创建成功后页面将回到**创建规则**,新的 Sink 将添加到规则动作中。 +10. **高级设置(可选)**:请参阅 [高级配置](#高级配置)。 -11. 点击 **创建** 按钮完成整个规则创建。 +11. 点击 **创建** 按钮完成 Sink 的创建,创建成功后页面将回到**创建规则**,新的 Sink 将添加到规则动作中。 + +12. 点击 **创建** 按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 Kafka 生产者 Sink。 diff --git a/zh_CN/data-integration/data-bridge-kinesis.md b/zh_CN/data-integration/data-bridge-kinesis.md index c6faa5edb..c187d7c0b 100644 --- a/zh_CN/data-integration/data-bridge-kinesis.md +++ b/zh_CN/data-integration/data-bridge-kinesis.md @@ -140,13 +140,15 @@ EMQX 与 AWS Kinesis Data Streams 的数据集成可以为您的业务带来以 - 如果留空,它将使用 JSON 格式编码 MQTT 消息中的所有可见输入,例如 clientid、topic、payload 等。 - 如果使用定义的模板,`${variable_name}` 形式的占位符将使用 MQTT 上下文中的相应值进行填充。例如,如果 MQTT 消息主题是 `my/topic`,`${topic}` 将被替换为 `my/topic`。 -9. 高级配置(可选),根据情况配置队列与批量等参数,详细请参考[ Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在点击**创建**之前,您可以点击**测试连接**以测试 Sink 是否能连接到 Amazon Kinesis Data Stream 服务。 +10. **高级配置(可选)**:根据情况配置队列与批量等参数,详细请参考[ Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数。 -11. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. 在点击**创建**之前,您可以点击**测试连接**以测试 Sink 是否能连接到 Amazon Kinesis Data Stream 服务。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 Amazon Kinesis Sink 将数据转发到 Amazon Kinesis Data Streams 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 Amazon Kinesis Sink。 diff --git a/zh_CN/data-integration/data-bridge-mongodb.md b/zh_CN/data-integration/data-bridge-mongodb.md index 4ee5c6e90..c708af3b0 100644 --- a/zh_CN/data-integration/data-bridge-mongodb.md +++ b/zh_CN/data-integration/data-bridge-mongodb.md @@ -210,13 +210,15 @@ db.createCollection('emqx_messages') ::: -9. 高级配置(可选),详细请参考[高级配置](#高级配置)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 MongoDB 服务器。 +10. **高级配置(可选)**:详细请参考[高级配置](#高级配置)。 -11. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 MongoDB 服务器。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 MongoDB Sink 将数据转发到 MongoDB 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 MongoDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-mqtt.md b/zh_CN/data-integration/data-bridge-mqtt.md index 2a151ad73..1b661d2a6 100644 --- a/zh_CN/data-integration/data-bridge-mqtt.md +++ b/zh_CN/data-integration/data-bridge-mqtt.md @@ -152,9 +152,11 @@ myprefix:foo2bd61c44:1 - **Retain**:选择 `true` 、`false` 或 `${flags.retain}`,确认是否以保留消息方式发布消息,也可以输入占位符从其他字段中设置保留消息标志位。此处选择 `${flags.retain}` 表示跟随原始消息的保留消息标志位。 - **消息模板**:用于生成转发消息 Payload 的模板,默认留空表示转发规则输出结果。此处可以输入 `${payload}` 表示仅转发 Payload。 -8. 其他配置使用默认值,点击**创建**按钮完成 Sink 的创建,创建成功后将回到创建规则页面,新的 Sink 将添加到规则动作中。 +8. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -9. 在规则创建页面,点击**创建**按钮完成整个规则创建。 +9. 其他配置使用默认值,点击**创建**按钮完成 Sink 的创建,创建成功后将回到创建规则页面,新的 Sink 将添加到规则动作中。 + +10. 在规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 MQTT Sink。 diff --git a/zh_CN/data-integration/data-bridge-mysql.md b/zh_CN/data-integration/data-bridge-mysql.md index 0cab9a839..c2b27a498 100644 --- a/zh_CN/data-integration/data-bridge-mysql.md +++ b/zh_CN/data-integration/data-bridge-mysql.md @@ -167,11 +167,13 @@ CREATE TABLE emqx_client_events ( ::: -9. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到规则动作中。 +10. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -11. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +11. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到规则动作中。 + +12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 至此您已经完成整个创建过程,可以前往 **集成** -> **Flow 设计器** 页面查看拓扑图,此时应当看到 `t/#` 主题的消息经过名为 `my_rule` 的规则处理,处理结果交由 MySQL 进行存储。 diff --git a/zh_CN/data-integration/data-bridge-opents.md b/zh_CN/data-integration/data-bridge-opents.md index b4dc60c0d..e64ef280a 100644 --- a/zh_CN/data-integration/data-bridge-opents.md +++ b/zh_CN/data-integration/data-bridge-opents.md @@ -134,13 +134,15 @@ docker run -d --name opentsdb -p 4242:4242 petergrace/opentsdb-docker - **标签**: 标签用于描述度量的额外信息,这里的标签是 `"tags": {"host": "serverA"}`,表示这个度量数据来自于主机 `serverA`。 - **值**: 这是实际的度量值,这个例子中是 `"value":12`,表示度量的值为 12。 -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考[ Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 OpenTSDB 服务器。 +10. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考[ Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数。 -11. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 OpenTSDB 服务器。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 OpenTSDB Sink 将数据转发到 OpenTSDB 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 OpenTSDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-oracle.md b/zh_CN/data-integration/data-bridge-oracle.md index 9c5895566..f672db6c3 100644 --- a/zh_CN/data-integration/data-bridge-oracle.md +++ b/zh_CN/data-integration/data-bridge-oracle.md @@ -166,13 +166,15 @@ CREATE TABLE t_emqx_client_events ( 9. 其余选项均设为默认值。 -10. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 Oracle Database 服务器。 +11. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 -12. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +12. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 Oracle Database 服务器。 -13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +13. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +14. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 Oracle Database Sink 将数据转发到 Oracle Database 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 Oracle Database Sink。 diff --git a/zh_CN/data-integration/data-bridge-pgsql.md b/zh_CN/data-integration/data-bridge-pgsql.md index 5daef6bae..9de97cf34 100644 --- a/zh_CN/data-integration/data-bridge-pgsql.md +++ b/zh_CN/data-integration/data-bridge-pgsql.md @@ -160,10 +160,11 @@ EMQX v5.7.1 中引入了**禁用预处理语句**选项。如果您使用的是 ) ``` -8. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数。详细内容请参考[Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数章节。 -9. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +8. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 +9. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数。详细内容请参考[Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数章节。 +10. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 -10. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +11. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)**  标签页看到新建的 PostgreSQL Sink。 diff --git a/zh_CN/data-integration/data-bridge-pulsar.md b/zh_CN/data-integration/data-bridge-pulsar.md index 7e8a59888..ebb354c8d 100644 --- a/zh_CN/data-integration/data-bridge-pulsar.md +++ b/zh_CN/data-integration/data-bridge-pulsar.md @@ -136,13 +136,11 @@ docker exec -it pulsar bin/pulsar-admin topics create-partitioned-topic persiste - **消息的键**:Pulsar 消息密钥。在此处插入字符串,可以是纯字符串或包含占位符(${var})的字符串。 - **消息的值**:Pulsar 消息值。在此处插入字符串,可以是纯字符串或包含占位符(${var})的字符串。 -10. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 - -11. 点击**创建**前,您可点击**测试连接**按钮确保能连接到 Pulsar 服务器。 - -12. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 - -13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中,**状态**为**已连接**。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 +11. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +12. 点击**创建**前,您可点击**测试连接**按钮确保能连接到 Pulsar 服务器。 +13. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +14. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中,**状态**为**已连接**。 现在您已成功创建了通过 Pulsar Sink 将数据转发到 Pulsar 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 Pulsar Sink。 diff --git a/zh_CN/data-integration/data-bridge-rabbitmq.md b/zh_CN/data-integration/data-bridge-rabbitmq.md index b6c372fba..77dd97984 100644 --- a/zh_CN/data-integration/data-bridge-rabbitmq.md +++ b/zh_CN/data-integration/data-bridge-rabbitmq.md @@ -203,16 +203,18 @@ docker run -it --rm --name rabbitmq -p 127.0.0.1:5672:5672 -p 127.0.0.1:15672:15 ::: -10. 配置高级设置(可选): +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +11. 配置**高级设置(可选)**: - **发布确认超时时间**:默认为 `30` 秒。 发布确认超时确定了发布者等待代理确认的持续时间,超过该时间发布操作将被视为失败。 - 根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 -11. 点击**创建**前,您可点击**测试连接**按钮确保 Sink 能连接到 RabbitMQ 服务器。 +12. 点击**创建**前,您可点击**测试连接**按钮确保 Sink 能连接到 RabbitMQ 服务器。 -12. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +13. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 -13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +14. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 RabbitMQ Sink 将数据转发到 RabbitMQ 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 RabbitMQ Sink。 diff --git a/zh_CN/data-integration/data-bridge-redis.md b/zh_CN/data-integration/data-bridge-redis.md index 9b5d7c6ee..a5427e6ad 100644 --- a/zh_CN/data-integration/data-bridge-redis.md +++ b/zh_CN/data-integration/data-bridge-redis.md @@ -117,14 +117,16 @@ OK 6. 从**连接器**下拉框中选择刚刚创建的 `my_redis`。您也可以通过点击下拉框旁边的按钮创建一个新的连接器。有关配置参数,请参见[创建连接器](#创建连接器)。 -8. 配置 **Redis 命令模板**:使用 Redis [HSET](https://redis.io/commands/hset/) 命令与 hash 数据结构存储消息,数据格式以 `clientid` 为 key,存储 `username`、`payload` 和`timestamp` 等字段。为了便于与 Redis 中其他 key 区分,我们使用 `emqx_messages` 前缀作为 key 的命名空间并用 `:` 分割: +7. 配置 **Redis 命令模板**:使用 Redis [HSET](https://redis.io/commands/hset/) 命令与 hash 数据结构存储消息,数据格式以 `clientid` 为 key,存储 `username`、`payload` 和`timestamp` 等字段。为了便于与 Redis 中其他 key 区分,我们使用 `emqx_messages` 前缀作为 key 的命名空间并用 `:` 分割: ```bash # HSET key filed value [field value...] HSET emqx_messages:${clientid} username ${username} payload ${payload} timestamp ${timestamp} ``` -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +8. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +9. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 10. 点击**创建**前,您可点击**测试连接**按钮确保 Sink 能连接到 Redis 服务器。 diff --git a/zh_CN/data-integration/data-bridge-rocketmq.md b/zh_CN/data-integration/data-bridge-rocketmq.md index 8789fd514..85e310824 100644 --- a/zh_CN/data-integration/data-bridge-rocketmq.md +++ b/zh_CN/data-integration/data-bridge-rocketmq.md @@ -192,17 +192,19 @@ docker run --rm -e NAMESRV_ADDR=host.docker.internal:9876 apache/rocketmq:4.9.4 7. 从**连接器**下拉框中选择刚刚创建的 `my_rocketmq`。您也可以通过点击下拉框旁边的按钮创建一个新的连接器。有关配置参数,请参见[创建连接器](#创建连接器)。 -7. 在 **RocketMQ 主题**字段中输入 `TopicTest`。 +8. 在 **RocketMQ 主题**字段中输入 `TopicTest`。 -8. **消息模版**设置为默认值,即为空;模版为空时将会将整个消息转发给 RocketMQ,实际值为 JSON 模版数据。 +9. **消息模版**设置为默认值,即为空;模版为空时将会将整个消息转发给 RocketMQ,实际值为 JSON 模版数据。 -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细内容请参考 [Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数章节。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 RockeMQ 服务器。 +11. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细内容请参考 [Sink 的特性](./data-bridges.md#sink-的特性)中的配置参数章节。 -11. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +12. 在完成创建之前,您可以点击**测试连接**来测试 Sink 可以连接到 RockeMQ 服务器。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +13. 点击**添加**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +14. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 RocketMQ Sink 将数据转发到 RocketMQ 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 RocketMQ Sink。 diff --git a/zh_CN/data-integration/data-bridge-sqlserver.md b/zh_CN/data-integration/data-bridge-sqlserver.md index a07b34ad7..74ae53ae0 100644 --- a/zh_CN/data-integration/data-bridge-sqlserver.md +++ b/zh_CN/data-integration/data-bridge-sqlserver.md @@ -269,15 +269,15 @@ Microsoft 提供的 Microsoft SQL Server 容器内已安装 `mssql-tools18`, FROM "t/#" ``` - + ::: - + ::: tip - + 如果您初次使用 SQL,可以点击 **SQL 示例**和**启用调试**来学习和测试规则 SQL 的结果。 - + ::: - + 4. 点击右侧的**添加动作**按钮,为规则在被触发的情况下指定一个动作。通过这个动作,EMQX 会将经规则处理的数据发送到 Microsoft SQL Server。 5. 在**动作类型**下拉框中选择 `Microsoft SQL Server`,保持**动作**下拉框为默认的`创建动作`选项,您也可以选择一个之前已经创建好的 Microsoft SQL Server Sink。此示例将创建一个全新的 Sink 并添加到规则中。 @@ -299,22 +299,24 @@ Microsoft 提供的 Microsoft SQL Server 容器内已安装 `mssql-tools18`, ```sql insert into dbo.t_mqtt_msg(msgid, topic, qos, payload) values ( ${id}, ${topic}, ${qos}, CONVERT(NVARCHAR(100), ${payload}) ) ``` - + ::: - + 如果在模板中使用未定义的占位符变量,您可以切换**未定义变量作为 NULL** 开关(位于 **SQL 模板** 上方)来定义规则引擎的行为: - + - **关闭**(默认):规则引擎可以将字符串 `undefined` 插入数据库。 - + - **启用**:允许规则引擎在变量未定义时将 `NULL` 插入数据库。 - + ::: tip - + 如果可能,应该始终启用此选项;禁用该选项仅用于确保向后兼容性。 - + ::: -10. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +10. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 11. 在点击**创建**按钮完成 Sink 创建之前,您可以使用**测试连接**来测试当前 Sink 到 Microsoft SQL Server 的连接是否成功。 diff --git a/zh_CN/data-integration/data-bridge-tdengine.md b/zh_CN/data-integration/data-bridge-tdengine.md index 28163fe97..46bdd1261 100644 --- a/zh_CN/data-integration/data-bridge-tdengine.md +++ b/zh_CN/data-integration/data-bridge-tdengine.md @@ -226,13 +226,15 @@ CREATE TABLE emqx_client_events ( ::: -9. 高级配置(可选),根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 在完成 Sink 创建之前,您可以使用**测试连接**来测试当前 Sink 到 TDengine 的连接是否成功。 +10. **高级配置(可选)**:根据情况配置同步/异步模式,队列与批量等参数,详细请参考 [Sink 的特性](./data-bridges.md#sink-的特性)。 -11. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 +11. 在完成 Sink 创建之前,您可以使用**测试连接**来测试当前 Sink 到 TDengine 的连接是否成功。 -12. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 +12. 点击**创建**按钮完成 Sink 创建,新建的 Sink 将被添加到**动作输出**列表中。 + +13. 回到创建规则页面,对配置的信息进行确认,点击**创建**。一条规则应该出现在规则列表中。 现在您已成功创建了通过 TDengine Sink 将数据转发到 TDengine 的规则,同时在**规则**页面的**动作(Sink)** 标签页看到新建的 TDengine Sink。 diff --git a/zh_CN/data-integration/data-bridge-timescale.md b/zh_CN/data-integration/data-bridge-timescale.md index 81fa16076..6560e774b 100644 --- a/zh_CN/data-integration/data-bridge-timescale.md +++ b/zh_CN/data-integration/data-bridge-timescale.md @@ -195,11 +195,13 @@ EMQX 支持与私有部署的 TimescaleDB 或与云上的 Timescale Service 集 (NOW(), ${location}, ${temp}, ${humidity}) ``` -9. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -10. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +10. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -11. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +11. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 + +12. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以在**规则**页面上看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 TimescaleDB Sink。 diff --git a/zh_CN/data-integration/data-bridge-webhook.md b/zh_CN/data-integration/data-bridge-webhook.md index 143e8fcc7..bfeb299bb 100644 --- a/zh_CN/data-integration/data-bridge-webhook.md +++ b/zh_CN/data-integration/data-bridge-webhook.md @@ -111,8 +111,9 @@ python3 http_server.py 5. 在下方的表单中输入 Sink 的名称与描述。 6. 在**连接器**下拉框中选择刚刚创建的 `my-httpserver` 连接器。您也可以点击下拉框旁边的创建按钮,在弹出框中快捷创建新的连接器,所需的配置参数按照参照[创建连接器](#创建连接器)。 7. 设置 URL 为 `http://localhost:5000`,请求方法选择 `POST`,其他使用默认值即可。 -8. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 -9. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +8. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 +9. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +10. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以点击**集成** -> **规则**页面看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 HTTP 服务 Sink。 diff --git a/zh_CN/data-integration/data-bridges.md b/zh_CN/data-integration/data-bridges.md index 0ace38c06..2394ce326 100644 --- a/zh_CN/data-integration/data-bridges.md +++ b/zh_CN/data-integration/data-bridges.md @@ -181,6 +181,68 @@ INSERT INTO msg(topic, qos, payload) VALUES(${topic}, ${qos}, ${payload}); 除了自动推导字段类型外,SQL 预处理技术还能避免 SQL 注入以提高安全性。 +### 备选动作 + +从 EMQX 5.9.0 起,您可以为任意一个动作配置一组备选动作。当主动作在处理消息时发生失败时,这些备选动作将会被触发。通过配置备选动作,您可以将失败的消息转发到其他目标(如另一个 Sink 或重发布动作),从而提升数据的可靠性和可观测性。 + +备选动作的典型用途包括: + +- 将失败的消息转发到备用数据系统(例如另一个 Sink); +- 将失败的消息重发布到监控主题,用于故障排查或告警通知; +- 在主动作发生临时故障时,减少消息丢失的风险。 + +#### 主要特性 + +- 仅当主动作处理消息失败时,备选动作才会被触发。失败情形包括投递失败、缓冲区溢出、请求超时(TTL 到期)等。 +- 无论其自身配置如何,所有备选动作始终以异步模式执行。 +- 所有配置的备选动作会同时被触发,EMQX 不会逐个尝试,也不会在第一个成功后停止。 +- 备选动作使用与主动作相同的缓冲机制,消息将在 TTL 到期前被多次尝试,或在缓冲溢出前排入队列。 +- 备选动作**不会**递归触发新的备选动作:如果某个备选动作自身失败,即使它也配置了备选动作,也不会继续执行。 +- 备选动作的执行不会影响主动作或其所属规则的运行统计数据,两者是相互独立的。 + +#### 定义备选动作 + +假设您有一个名为 `my_http` 的 HTTP 动作,并希望为其配置备选动作,同时已有一个名为 `fallback` 的 MQTT 动作。 + +可以按如下方式配置备选逻辑: + +```hcl +actions { + http { + my_http { + fallback_actions = [ + {kind = reference, type = mqtt, name = fallback}, + { + kind = republish, + args = { + topic = "fallback/republish/topic" + qos = 1 + payload = "${payload}" + } + } + ] + # 其他配置省略 + } + } + mqtt { + fallback { + fallback_actions = [ + {kind = reference, type = mqtt, name = another_fallback} + ] + # 其他配置省略 + } + } +} +``` + +在上述示例中: + +- 如果 HTTP 动作 `my_http` 执行失败,消息将被: + - 转发至 MQTT 动作 `fallback`; + - 同时重发布至主题 `fallback/republish/topic`。 +- 如果 `fallback` 也执行失败,即使它配置了备选动作 `another_fallback`,该动作也**不会被触发**,因为备选动作不支持递归。 +- 只有当 `fallback` 作为其他规则中的主动作运行并失败时,才会触发其配置的备选动作 `another_fallback`。 + ## Sink 的状态与指标 您可以在 Dashboard 上查看 Sink 的运行状态和数据集成统计信息,以了解 Sink 和集成是否正常运行。 diff --git a/zh_CN/data-integration/elasticsearch.md b/zh_CN/data-integration/elasticsearch.md index 9707e5402..0699aac55 100644 --- a/zh_CN/data-integration/elasticsearch.md +++ b/zh_CN/data-integration/elasticsearch.md @@ -148,7 +148,7 @@ EMQX 支持与私有部署的 Elasticsearch 或与云上的 Elastic 集成。您 - **启用更新插入**(`更新`操作特有的参数):尝试更新的文档不存在时,将更新操作当作一个插入操作,并将提供的文档当作新文档插入。 在本示例中,索引名称设置为 `device_data`,使用客户端 ID 与时间戳组合 `${clientid}_${ts}` 作为文档 ID,文档保存客户端 ID、当前时间戳以及整个消息体,填写文档模板如下: - + ```json { "clientid": "${clientid}", @@ -159,9 +159,11 @@ EMQX 支持与私有部署的 Elasticsearch 或与云上的 Elastic 集成。您 8. 其余参数使用默认值即可。 -9. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +9. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +10. 点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 -10. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +11. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以在**规则**页面上看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 Elasticsearch Sink。 diff --git a/zh_CN/data-integration/s3.md b/zh_CN/data-integration/s3.md index 57e5c1e15..7b5d4e8fc 100644 --- a/zh_CN/data-integration/s3.md +++ b/zh_CN/data-integration/s3.md @@ -154,27 +154,27 @@ EMQX 支持 Amazon S3 以及兼容 S3 的存储服务,您可以使用 AWS 云 - **直接上传**:每次规则触发时,按照预设的对象键和内容直接上传到 S3,适合存储二进制或体积较大的文本数据。这种方法可能会生成大量的文件。 - **聚合上传**:将多次规则触发的结果打包为一个文件(如 CSV 文件)并上传到 S3,适合存储结构化数据。这种方法可以减少文件数量,提高写入效率。 - + 两种方式配置的参数不同,请根据所选方式进行配置: - + :::: tabs type:card - + ::: tab 直接上传 - + 直接上传需要配置以下字段: - + - **对象键**:定义了要上传到存储桶中的对象的位置。它支持 `${var}` 格式的占位符,并可以使用 `/` 来指定存储目录。通常还需要设定对象的后缀名,以便于管理和区分。在此,我们输入 `msgs/${clientid}_${timestamp}.json`,其中 `${clientid}` 是客户端 ID,`${timestamp}` 是消息的时间戳。这样做可以确保每个设备的消息都被写入到不同的对象中。 - + - **对象内容**:默认情况下,它是包含所有字段的 JSON 文本格式。它支持使用 `${var}` 格式的占位符,此处我们输入 `${payload}` 表示将消息体作为对象内容。这时,对象的存储格式将取决于消息体的格式,支持压缩包、图片或其他二进制格式。 - + ::: - + ::: tab 聚合上传 - + 需要设置以下参数: - + - **对象键**:用于指定对象的存储路径,可以使用以下变量: - + - **`${action}`**:动作名称(必需)。 - **`${node}`**:执行上传的 EMQX 节点名称(必需)。 - **`${datetime.{format}}`**:聚合开始的日期和时间,格式根据 `{format}` 字符串指定(必需): @@ -183,25 +183,27 @@ EMQX 支持 Amazon S3 以及兼容 S3 的存储服务,您可以使用 AWS 云 - **`${datetime.unix}`**:Unix 时间戳。 - **`${datetime_until.{format}}`**:聚合结束的日期和时间,格式选项与上述相同。 - **`${sequence}`**:相同时间间隔内聚合上传的序列号(必需)。 - + 请注意,如果模板中没有使用所有标记为必需的占位符,这些占位符将作为路径后缀自动添加到 S3 对象键中,以避免重复。所有其他占位符均视为无效。 - + - **聚合方式**:目前仅支持 CSV。数据将以逗号分隔的 CSV 格式写入到 S3。 - + - **列排序**:通过下拉选择调整规则结果列的顺序。生成的 CSV 文件将首先按所选列排序,未选中的列将按字典顺序排在所选列之后。 - + - **最大记录数**:达到最大记录数时将完成单个文件的聚合进行上传,并重置时间间隔。 - + - **时间间隔**:达到时间间隔时,即使未达到最大记录数,也会完成单个文件的聚合进行上传,并重置最大记录数。 - + ::: :::: -10. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 + +11. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -11. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 +12. 其余参数使用默认值即可。点击**创建**按钮完成 Sink 的创建,创建成功后页面将回到创建规则,新的 Sink 将添加到规则动作中。 -12. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 +13. 回到规则创建页面,点击**创建**按钮完成整个规则创建。 现在您已成功创建了规则,你可以在**规则**页面上看到新建的规则,同时在**动作(Sink)** 标签页看到新建的 S3 Sink。 diff --git a/zh_CN/data-integration/snowflake.md b/zh_CN/data-integration/snowflake.md index daed0fd8e..da7b22854 100644 --- a/zh_CN/data-integration/snowflake.md +++ b/zh_CN/data-integration/snowflake.md @@ -278,11 +278,13 @@ openssl rsa -in snowflake_rsa_key.private.pem -pubout -out snowflake_rsa_key.pub - **最大记录数**:设置触发聚合前的最大记录数。例如,您可以设置为 `1000`,在收集 1000 条记录后触发上传。当达到最大记录数时,单个文件的聚合将完成并上传,重置时间间隔。 - **时间间隔**:设置触发聚合的时间间隔(秒)。例如,如果设置为 `60`,即使未达到最大记录数,也将在 60 秒后上传数据,并重置记录数。 -10. 展开**高级设置**,根据需要配置高级设置选项(可选)。更多详细信息请参考[高级设置](#高级设置)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 其余设置保持默认值,点击**创建**按钮完成 Sink 创建。成功创建后,页面将返回到规则创建页面,并将新创建的 Sink 添加到规则动作中。 +11. 展开**高级设置**,根据需要配置高级设置选项(可选)。更多详细信息请参考[高级设置](#高级设置)。 -12. 返回规则创建页面,点击**创建**按钮完成整个规则创建过程。 +12. 其余设置保持默认值,点击**创建**按钮完成 Sink 创建。成功创建后,页面将返回到规则创建页面,并将新创建的 Sink 添加到规则动作中。 + +13. 返回规则创建页面,点击**创建**按钮完成整个规则创建过程。 现在,您已成功创建了规则。您可以在**规则**页面看到新创建的规则,并在 **动作 (Sink)** 标签页中查看新创建的 Snowflake Sink。 diff --git a/zh_CN/data-integration/syskeeper.md b/zh_CN/data-integration/syskeeper.md index b2036dc0c..8483d775b 100644 --- a/zh_CN/data-integration/syskeeper.md +++ b/zh_CN/data-integration/syskeeper.md @@ -105,9 +105,11 @@ Nari SysKeeper 的数据桥接是 EMQX 中的即用型功能,结合了 MQTT - **QoS**:重新发布消息的 QoS。 - **消息模板**:重新发布消息的负载模板。支持占位符,例如 `${payload}`。 -10. 点击 **创建** 完成 Sink 的创建。回到 **创建规则** 页面,您将看到新的 Sink 出现在 **动作输出** 标签下。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 在 **创建规则** 页面,验证配置的信息。点击 **创建** 按钮生成规则。 +11. 点击 **创建** 完成 Sink 的创建。回到 **创建规则** 页面,您将看到新的 Sink 出现在 **动作输出** 标签下。 + +12. 在 **创建规则** 页面,验证配置的信息。点击 **创建** 按钮生成规则。 现在您已成功创建规则,您可以在 **规则** 页面上看到新的规则。点击 **动作(Sink)** 标签,您可以看到新的 SysKeeper 转发器。 diff --git a/zh_CN/data-integration/tablestore.md b/zh_CN/data-integration/tablestore.md index 80f39f73d..8b03e6412 100644 --- a/zh_CN/data-integration/tablestore.md +++ b/zh_CN/data-integration/tablestore.md @@ -171,13 +171,15 @@ EMQX 与 Tablestore 的数据集成目前仅支持时序模型。因此,以下 - `MUM_IGNORE`:忽略元数据更新,即使存在冲突更新,也确保元数据保持不变。 - `MUM_NORMAL`:正常更新元数据,若元数据不存在,则在写入数据前动态创建元数据;若与现有元数据发生冲突,则可能会覆盖。 -10. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 +10. **备选动作(可选)**:如果您希望在消息投递失败时提升系统的可靠性,可以为 Sink 配置一个或多个备选动作。当 Sink 无法成功处理消息时,这些备选动作将被触发。更多信息请参见:[备选动作](./data-bridges.md#备选动作)。 -11. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 Tablestore 服务器。 +11. 展开**高级设置**,根据需要配置高级设置选项(可选),详细请参考[高级设置](#高级设置)。 -12. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 +12. 在点击**创建**之前,您可以点击**测试连接**,以测试 Sink 是否能够连接到 Tablestore 服务器。 -13. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 +13. 点击**创建**完成 Sink 的创建。回到**创建规则**页面,您将看到新的 Sink 出现在**动作输出**页签下。 + +14. 在**创建规则**页面,验证配置的信息。点击**创建**按钮生成规则。 现在您已成功创建规则,您可以在**规则**页面上看到新的规则。点击**动作(Sink)**标签,您可以看到新的 Tablestore Sink。