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.
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | 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.
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:
Code Block |
---|
|
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:
Code Block |
---|
language | yml |
---|
title | listener_aux.yaml |
---|
|
listeners:
- event: dissemination
request:
destination: <destinationName>
step: [1,2,3]
triggers:
- type: echo |
Finally, you can start your listener as usual:
Code Block |
---|
|
source {PATH_TO_MY_ENV}/myenv/bin/activate
aviso listen listener_aux.yaml |