The used technologies are:
$> dos2unix README.md
$> VERSION=$(sed -n '0,/### Version/{n;p}' README.md | xargs)
$> echo $VERSION > version
$> cat version
$> docker rmi flythingscrew/flydatasync:$VERSION
$> docker rmi flythingscrew/flydatasync:latest
$> docker build --rm --no-cache -t flythingscrew/flydatasync:$VERSION .
$> docker tag flythingscrew/flydatasync:$VERSION flythingscrew/flydatasync:latest
$> docker stop flydatasync && docker rm flydatasync
$> docker run -d --name flydatasync -it \
-v /opt/.installation/env/flydatasync.yml:/etc/flythings/sync.yml \
flythingscrew/flydatasync:latest
$> docker logs flydatasync -f --tail 20
$> docker run -d --name flydatasync -it \
-v /opt/.installation/env/flydatasync.yml:/etc/flythings/sync.yml \
flythingscrew/flydatasync:latest visualcrossing
$> docker run -d --name flydatasync -it \
-v /opt/.installation/env/flydatasync.yml:/etc/flythings/sync.yml \
flythingscrew/flydatasync:latest hidroconta
El fichero de configuración se divide en 4 bloques de configuración:
Se define la plataforma y el modo de autenticación de donde se extraerán los datos (src) o hacia donde se insertarán (dist)
host: http://localhost:8090
auth:
user: admin
password: admin
host: http://localhost:8090
auth:
user: admin
password: admin
type: USER
host: http://localhost:8090
auth:
token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ3b3Jrc3BhY2UvMSIsInNjb3BlcyI6Im9ic2VydmF0aW9uX3dyaXRlLHNlcmllc193cml0ZSxkZXZpY2Vfd3JpdGUsaW5mcmFzdHJ1Y3R1cmVfd3JpdGUsYWN0aW9uX3NvY2tldF93cml0ZSxhbGVydF93cml0ZSxsb2dfd3JpdGUsb2JzZXJ2YXRpb25fcmVhZCxzZXJpZXNfcmVhZCxkZXZpY2VfcmVhZCxpbmZyYXN0cnVjdHVyZV9yZWFkLGFjdGlvbl9zb2NrZXRfcmVhZCxhbGVydF9yZWFkLGxvZ19yZWFkIiwibmFtZSI6InN5bmNfdG9rZW4ifQ.xTyElFRQ0hIClfbNDFh0l5F66JaHVnLsuvXxannlACs
Configuración de los dispositivos y/o series que se quieren sincronizar.
Existen multiples modos de configuración:
- src: # Sync series by seriesid
series_id: <series number id>
- src: # Sync series by device, procedure and property identifiers
device: <device identifier>
procedure: <procedure identifier>
property: <property identifier>
- src: # Sync series by procedure and property identifier
procedure: <procedure identifier>
property: <property identifier>
- src: # Sync single device by number id
device_id: <device_number_id>
- src: # Sync single device by identifier name
device: <device_identifier>
- src: # Sync all devices with type specified
device_type: <device src types to search>
- src: # Sync all devices
all: true
Por cada modo de sincronización se puede sobreescribir la estructura de los datos a insertar en la plataforma de destino de la siguiente manera:
dist:
device_name: <device name to override>
device: <device identifier to override>
procedure: <procedure identifier to override>
property: <property identifier to override>
unit: <unit to override>
dist:
device_name: <device name to override>
device_type: <device type to override>
device: <device identifier to override>
- src:
series_id: 4019
- src:
device: 0348JVJ
procedure: Default
property: Neto
- src:
procedure: Default
property: Neto
- src:
series_id: 4019
dist:
device_name: Camion 0348JVJ
device: 0348JVJ-modificado
procedure: Defecto
property: Super Peso
unit: gramos
- src:
device: 0348JVJ
procedure: Default
property: Neto
dist:
device_name: Camion 0348JVJ
device: 0348JVJ-modificado
procedure: Defecto
property: Super Neto
unit: gramos
- src:
device_type: MILKCHAIN_FARM_ENVIRONMENTAL
dist:
device_type: FARM_ENVIRONMENTAL
- src:
device: 0413FMK
- src:
device_id: 1955
dist:
device_name: Camion 9937HLF
Configuraciones generales de ejecución del sistema.
sync_metadata: false
sync_infrastructures: false
sync_metadata: false
sync_infrastructures: false
num_samples: 1000
Sistema de integración con el API de VisualCrossing
dist:
host: http://localhost:8090
auth:
token:
config:
flythings_timeout: 60
enable_cron: false
visualcrossing:
Manzaneda Weather: https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/42.2713889%2C-7.291758333333333?unitGroup=metric&include=hours%2Ccurrent&key=ZMM2U9XUSJ6UV37L4L49NQACY&contentType=json
Sistema de integración con el API de hidroconta
dist:
host: http://localhost:8090
auth:
token:
config:
flythings_timeout: 60
enable_cron: false
sync_from_date: 1669849200000
hidroconta:
username: Espina-Delfin
password: Vilagarcia
src:
host: <host>
auth:
token: <token>
user: <user>
password: <password>
dist:
host: <host>
auth:
token: <token>
user: <user>
password: <password>
config:
sync_infrastructures: <enable infrastructures synchronization/ Default False>
sync_from_date: <optional/ timestamp from sync data>
sync_full_observations: <enable full observations sync/ Default False>
num_samples: <optional/ number of samples to send by insertion request>
data:
- src: # Sync all devices
all: true
- src: # Sync all devices with type specified
device_type: <device src types to search>
dist:
device_type: <device type to override>
- src: # Sync single device by identifier name
device: <device_identifier>
- src: # Sync single device by number id
device_id: <device_number_id>
dist:
device_name: <optional / device name to override>
device_type: <optional / device type to override>
device: <optional / device identifier to override>
- src: # Sync series by device procedure and property names
device: <device identifier>
procedure: <procedure identifier>
property: <property identifier>
dist:
device_name: <device name to override>
device: <device identifier to override>
procedure: <procedure identifier to override>
property: <property identifier to override>
unit: <unit to override>
- src: # Sync series by seriesid
series_id: <series number id>
dist:
device_name: <device name to override>
device: <device identifier to override>
procedure: <procedure identifier to override>
property: <property identifier to override>
unit: <unit to override>
Content type
Image
Digest
sha256:d1162cc3d…
Size
146.7 MB
Last updated
9 months ago
docker pull flythingscrew/flydatasync