How to create Aviso event in ECPDS

Users with access to a destination in aux-monitor.ecmwf.int can use special options with mspds command to create Aviso notification for each file transfer.

An example of generating Aviso notification when sending file with mspds command
mspds -echost aux -destination {destinationName} -source {fileName} -event -metadata "event=dissemination,time={forecastBaseTime},date={forecastBaseDate},step={forecastStep}" -verbose -force

Key=value pairs in metadata of the above example are mandatory, i.e., time, date, and step must be specified because Aviso is configured for dissemination of forecasts only. In addition to keys provided in the example, one can also add optional keys such as class, expver, and stream.


How to configure Aviso for listening of the event created with mspds command

If your ECPDS destination is in http://aux-monitor.ecmwf.int you need to modify Aviso configuration file (default location ~/.aviso/config.yaml), notification and configuration hosts to point them to AUX:

username_file: ~/.marsrc/mars.email
key_file: ~/.marsrc/mars.token
notification_engine:
  type: etcd_rest
  host: aviso-aux.ecmwf.int
  port: 443
  https: true
configuration_engine:
  type: etcd_rest
  host: aviso-aux.ecmwf.int
  port: 443
  https: true
schema_parser: ecmwf
remote_schema: True
auth_type: ecmwf 


Next step is to define listener configuration file:

listener_aux.yaml
listeners:
  - event: dissemination
    request:
      destination: <destinationName>
      step: [1,2,3]
    triggers:
      - type: echo


Finally, you can start your listener as usual:

source {PATH_TO_MY_ENV}/myenv/bin/activate
aviso listen listener_aux.yaml
  • No labels