Saltar al contenido

Creación de archivos de configuración de adaptadores personalizados

Ahora escribiremos un archivo de configuración que nombraremos mqtt_input.cnxml. Esto sigue una convención de nomenclatura flexible <adapter>_<{input,output}>.cnxml.

El propósito de esto .cnxml El archivo es para definir los parámetros ofrecidos al usuario y cómo Studio iniciará y detendrá el adaptador.

El código fuente completo para .cnxml se proporciona un archivo de configuración en el Appendix Alt

Primero, probaremos <Adapter> especificar un elemento y especificarlo.

AtributoSuelte
mas o menos(Obligatorio) Especifique el adaptador de entrada o salida
externo(Obligatorio) Establecer en verdadero, ya que se trata de un adaptador externo
carné de identidad(Obligatorio) Especifique un identificador único para su adaptador. Este valor se enumera en el parámetro de tipo dentro del ATTACH ADAPTER declaración
etiqueta(Obligatorio) Nombre de su adaptador. Este nombre aparece en la perspectiva de autorización de SAP Streaming Analytics si pasa el cursor sobre el icono del adaptador en el editor de video
descripción(Obligatorio) Especifique el propósito del adaptador. Esto también se refleja en la perspectiva de autorización de SAP Streaming Analytics.

Nuestro adaptador es un adaptador de entrada externo y no admitimos el descubrimiento de esquemas.

<Adapter type="input" external="true"
  id="mqtt_input"
  label="MQTT Input Adapter"
  descr="Listens for MQTT messages published in a specified topic."
  supportsDiscovery="false"
>

Entonces crea un <Library> especificar un elemento y especificarlo.

AtributoSuelte
archivo(Obligatorio) Especificar siempre simple_ext como valor para adaptadores externos
mas o menos(Requerido) Especifique binary como el valor.
<Library file="simpleext" type="binary"/>

Crea un especial <Special> especificar y especificar parámetros internos para ello. Ver el $STREAMING_HOME/lib/adapters/simple_ext.cnxml.template ejemplo .cnxml archivado para obtener una lista completa de parámetros internos y datos de uso.

<Special>

Cualquier comando especificado en el .cnxml un archivo de adaptador no puede contener las siguientes cadenas: mv, rmo del.

Crear x_allocateLocalSessionId <Internal> elemento y especifique atributos para él. Este elemento permitirá que el adaptador se conecte al proyecto utilizando una identificación de sesión de su elección.

<Internal id="x_allocateLocalSessionId"
 label="Request a new local session id"
 descr="Request the project to allocate a new local session
id."
 type="boolean"
 default="true"
/>

Crear x_unixCmdExec <Internal> especificar un elemento y especificarlo. Este es el comando que utilizará el marco del adaptador para iniciar el adaptador en un entorno Unix.

<Internal id="x_unixCmdExec"
 label="Execute Command"
 type="string"
 default="&quot;$STREAMING_HOME/adapters/framework/bin/start.sh&quot;&quot;$STREAMING_HOME/adapters/framework/instances/mqtt_input/adapter_config.xml&quot; &quot;DMQTTInputTransporterParameters.MosquittoServerAddress=$mosquittoServerAddress&quot; &quot;DMQTTInputTransporterParameters.Topic=$topic&quot;"
/>

Crear x_winCmdExec <Internal> especificar un elemento y especificarlo. Este es el comando que utilizará el marco del adaptador para iniciar el adaptador en un entorno Windows. El servidor de Streaming Analytics en Windows no es compatible, pero nuestro adaptador personalizado puede funcionar con los sistemas de Streaming Analytics.

<Internal id="x_winCmdExec"
 label="Execute Command"
 type="string"

default="&quot;%STREAMING_HOME%/adapters/framework/bin/start.bat&quot; &quot;%STREAMING_HOME%/adapters/framework/instances/mqtt_input/adapter_config.xml&quot; &quot;DMQTTInputTransporterParameters.MosquittoServerAddress=$MosquittoServerAddress&quot; &quot;DMQTTInputTransporterParameters.Topic=$Topic&quot;"
/>

Crear x_unixCmdStop <Internal> especificar un elemento y especificarlo. Este es el comando que utilizará el marco del adaptador para detener el adaptador en un entorno Unix.

<Internal id="x_unixCmdStop"
 label="Stop Command"
 type="string"

default="&quot;$STREAMING_HOME/adapters/framework/bin/stop.sh&quot; &quot;$STREAMING_HOME/adapters/framework/instances/mqtt_input/adapter_config.xml&quot;"
/>

Crear x_winCmdStop <Internal> especificar un elemento y especificarlo. Este es el comando que utilizará el marco del adaptador para detener el adaptador en un entorno Windows.

<Internal id="x_winCmdStop"
 label="Stop Command"
 type="string"
 default="&quot;%STREAMING_HOME%/adapters/framework/bin/stop.bat&quot; &quot;%STREAMING_HOME%/adapters/framework/instances/mqtt_input/adapter_config.xml&quot;"
/>

Cierre el <Special> etiqueta.

</Special>

Ahora, especificaremos los parámetros del adaptador para el elemento Alt.

Estos parámetros son visibles y configurables en el estudio y los elementos de este elemento son los parámetros que los desarrolladores de transmisión pueden establecer para el adaptador.

Para cada parámetro, especifique:

ParámetroSuelte
carné de identidad(Obligatorio) La identificación de la propiedad en la que puede hacer referencia <Internal>llamadas ordenadas con $<varname>ID name</varname>. Esto es a lo que se refiere cuando especifica las propiedades del adaptador para un adaptador en CCL.
etiqueta(Obligatorio) El nombre de la propiedad que aparece en el estudio.
descr(Obligatorio) Descripción de la propiedad del adaptador.
mas o menos(Obligatorio) El tipo de datos de la propiedad.
utilizar(Obligatorio) Si la propiedad es obligatoria, opcional o anticipada. En Studio, las propiedades esenciales se muestran en rojo y las avanzadas están visibles en una pestaña separada.
defecto(Opcional) El valor predeterminado que se utilizará, a menos que establezca un valor para la propiedad.

Crear un mosquittoServerAddress <Parameter> especificar un elemento y especificarlo.

No olvides reemplazar <your-ip-address> con tu cliente ip address.

<Parameter id="mosquittoServerAddress"
 label="Mosquitto Server Address"
 descr="The address of the mosquitto server used as a broker"
 type="string"
 use="required"
 default="tcp://<your-ip-address>:1883"
/>

Crear contenido <Parameter> especificar un elemento y especificarlo.

<Parameter id="topic"
 label="MQTT Subscription Topic"
 descr="Topic to listen to for MQTT messages."
 type="string"
 use="required"
default="test"
/>

Cierra el <Section> y <Adapter> etiquetas.

</Section>
</Adapter>

Para la siguiente pregunta, seleccione la respuesta correcta y haga clic en Validación.