EMQX 5.1 と EMQX 4.4 間のデータ統合の非互換性
データ統合の概念は EMQX 5.1 で大幅にアップグレードされました。
以前の ルール -> アクション -> リソース のプロセスは ルール -> データブリッジ に変更されました。
EMQX 4.4 ではアクション用の設定エンティティがありましたが、EMQX 5.1 では特定のルールにアクションを追加する際、まずデータブリッジを作成し、そのブリッジの SQL テンプレートを修正してルールの出力に適合させる必要があります。

モジュール -> メッセージパブリッシュ は データブリッジ に移動されました。
EMQX 4.4 のメッセージパブリッシュモジュール:

EMQX 4.4 の オフラインメッセージ保存 機能は削除されました。
EMQX 4.4 の サブスクリプション取得 機能は削除されました。
DolphinDB、Lindorm、SAP Event Mesh のデータブリッジはサポートされていませんが、SAP Event Mesh は製品ロードマップに含まれています。
リソースタイプとしての
EMQX Bridgeはサポートされなくなりました。
共通の非互換性変更点
- すべての SSL 関連設定オプション(
ssl、cafile、keyfile、certfile、verify)は統一された構造と名称に変更されました。例:ssl.cacertfile、ssl.certfile、ssl.keyfile、ssl.verifyなど。 - クライアントがトピックをサブスクライブした際に外部データベースにオフラインメッセージを保存し取得する機能(
$events/session_subscribedイベントとブリッジルールアクションによる)は EMQX 5.1 には存在しません。
機能および設定項目の非互換性
以下は各データブリッジごとの機能および設定項目の変更点です。
Cassandra
- 設定名
nodesはserversに変更されました。
Kafka Producer
- 変更された設定項目:
servers→bootstrap_hostsauthentication_mechanism→authenticationsync_timeout→sync_query_timeoutsend_buffer→socket_opts.sndbuftcp_keepalive→socket.tcp_keepalivestrategy→partition_strategycache_mode→kafka.buffer.mode- バッファモードの列挙値
memory+disk→hybrid highmem_drop→kafka.buffer.memory_overload_protection
- EMQX 5.1 での非対応項目:
query_api_versionskafka_ext_headers
kafkaキー配下にネストされたreplayq関連オプション(例:max_batch_bytes)- メッセージキーはテンプレート可能になり、以前のように限られた選択肢ではなくなりました。
Kafka Consumer
- 変更された設定項目:
servers→bootstrap_hostsmax_bytes→kafka.max_batch_bytesoffset_reset_policy列挙値:{reset_to_latest, reset_by_subscriber}→{latest, earliest}
- EMQX 5.1 には
pool_sizeがなく、パーティション数に応じてライブラリがワーカー数を自動設定します。 - EMQX 4.4 では認証にプレーン SASL のみ対応していましたが、EMQX 5.1 では Kafka Producer と同じ認証機構をサポートしています。
Pulsar Consumer
- EMQX 5.1.0 には Pulsar Consumer が存在しません。
Pulsar Producer
- EMQX 5.1 ではブリッジはドライバーの非同期 API のみを使用し、同期 API のオプションはありません。
- メッセージキーのテンプレートが追加され、以前のような限定的な選択肢ではなくなりました。
- 変更された設定項目:
- バッファモード列挙値
memory+disk→hybrid max_total_bytes→buffer.per_partition_limitsegment_bytes→buffer.segment_bytes
- バッファモード列挙値
Redis
- 設定項目
cmdはcommand_templateに変更されました(3つの Redis モード共通)。 - 「クラスタ」モードの変更点:
- EMQX 5.1 には
databaseフィールドがありません。 - EMQX 4.4 のオフラインメッセージの
ttlに相当するものは EMQX 5.1 にありません。
- EMQX 5.1 には
Postgres
- コネクターに差異はありません。
- バッチ処理設定はアクション設定の
resource_opts.*に移動しました。enable_batch = true(EMQX 4.4) →resource_opts.batch_size > 1(EMQX 5.1)batch_timeは非表示で EMQX 5.1 ではデフォルト0sql→prepare_statement
MySQL
userはusernameに変更されました。- バッチ処理設定はアクション設定の
resource_opts.*に移動しました。enable_batch = true(EMQX 4.4) →resource_opts.batch_size > 1(EMQX 5.1)batch_timeは非表示で EMQX 5.1 ではデフォルト0sql→prepare_statement
MQTT
- 変更された設定項目:
address→serverpool_size→{egress,ingress}.pool_sizereconnect_interval→resource_opts.health_check_interval
- EMQX 5.1 には以下の項目はありません:
appendmountpoint
- EMQX 4.4 の
disk_cache = onは、EMQX 5.1 の隠し設定オプションであるresource_opts.buffer_mode = volatile_offloadに多少近いですが、デフォルトはmemory_onlyです。 - EMQX 5.1 には RPC MQTT ブリッジの相当機能はありません。
- アクションの設定変更:
forward_topic→egress.remote.topicpayload_tmpl→payload
InfluxDB
API v1 と v2 の両方に共通する変更点:
- ブリッジ設定の変更:
hostとportはserverに変更https_enabledやtls_versionなどの SSL オプションはsslに統合
- アクション設定の変更:
- EMQX 5.1 には
int_suffixの相当はなく、型は直接write_syntaxで指定 measurement、timestamp、fields、tagsはすべてwrite_syntaxに変更
- EMQX 5.1 には
DolphinDB、Lindorm、SAP Event Mesh
EMQX 5.1 にはこれらのデータブリッジの相当はありません。
Clickhouse
- 変更された設定項目:
server→urluser→usernamekey→password
Dynamo
- EMQX 5.1 には
regionの相当はありません。 payload_templateが追加されました。
HStreamDB
- 設定項目
serverはurlに変更されました。 - EMQX 5.1 には以下の項目の相当はありません:
grpc_timeoutpartition_keygrpc_flush_timeout
IoTDB
- 変更された設定項目:
host、rest_port→base_urlrequest_timeout→resource_opts.request_ttl
MongoDB
- 変更された設定項目:
login→usernameconnectTimeoutMS→connect_timeout_msrs_set_name→replica_set_namepayload_tmpl→payload_template
OpenTSDB
syncはresource_opts.query_mode = syncに変更されました。
Oracle
userはusernameに変更されました。
TDengine
- 変更された設定項目:
host、port→serverdbname→database
GCP PubSub Producer
- 非推奨となった設定項目:
flush_modeflush_period_ms
RabbitMQ Producer
- 変更された設定項目:
server→hostとportpayload_tmpl→payload_templatedurable→delivery_mode
exchange_typeは EMQX 5.1 に相当するものがありません。
RocketMQ
- EMQX 5.1 に相当するものがない設定項目:
namespacestrategykey
- 変更された設定項目:
type→resource_opts.query_modepayload_tmpl→payload_template