MQTT アダプタの使用法
この章では、MQTT の受信アダプタおよび送信アダプタ EnsLib.MQTT.Adapter.InboundOpens in a new tab および EnsLib.MQTT.Adapter.OutboundOpens in a new tab の動作と、カスタムのビジネス・サービスおよびオペレーションでこれらを使用する方法について説明します。
MQTT 受信アダプタ
MQTT 受信アダプタは、ブローカ上のメッセージを購読し、そのサブスクリプションからメッセージを受信する役割を果たします。この受信アダプタは以下を実行します。
MQTT 受信アダプタを使用するビジネス・サービスの作成
このアダプタをプロダクションで使用するには、ここに記載されているように新しいビジネス・サービス・クラスを作成します。その後、“MQTT パススルー・ビジネス・サービスおよびオペレーションの構成と使用” で説明しているパススルー・サービスおよびオペレーションの場合と同様に、これをコンパイルし、プロダクションに追加して、構成します。新しいカスタムのメッセージ・クラスが必要な場合は、"プロダクションの開発" の “メッセージの定義” の説明のとおりにこれを作成します。
ビジネス・サービス・クラスの基本要件を以下に列挙します。
受信アダプタに関連する設定については、“MQTT パススルー・ビジネス・サービスおよびオペレーションの構成と使用” および “MQTT アダプタの設定” を参照してください。
以下の例は、ビジネス・サービス・クラスの全体的な構造を示しています。
Class EMQTT.NewService1 Extends Ens.BusinessService
{
Parameter ADAPTER = "EnsLib.MQTT.Adapter.Inbound";
Method OnProcessInput(pInput As EnsLib.MQTT.Message, pOutput As %RegisteredObject) As %Status
{
set tsc=$$$OK
//your code here
Quit tsc
}
}
MQTT 送信アダプタ
送信アダプタは、ブローカにメッセージを発行する役割を果たします。送信アダプタがメッセージで呼び出されると、以下を実行します。
-
ブローカへの接続がまだない場合、これを作成します。
-
入力パラメータにトピックの値が含まれる場合は、これを使用します。トピックが提供されていない場合は、設定で指定されたトピックを使用します。
-
入力パラメータまたは設定からのトピックを使用して、ブローカにメッセージを発行します。