Download dei Dati ================= Uno degli obiettivi fondamentali della piattaforma Radara-DPC è la pubblicazione dei dati meteo radar non solo per mera visualizzazione, ma anche per il libero download e per l'utilizzo da terze parti. La piattaforma **Radar-DPC** include uno stack di servizi **Representational State Transfer (REST)**, utilizzati nel back end dagli applicativi, ma che rappresenta anche utile API (Applicatio Program Interface) per il download dei dati Radar e più in generale per il lavoro con i servizi esposti da parte di applicazioni di terze parti. La REST API è documentata nell'apposita sezione :doc:`REST API <./api>` WebSocket --------- Tuttavia, per rendere più efficienti le operazioni di download degli aggiornamenti del dato d'interesse, il mero utilizzo della REST API è sconsigliato: il rischio è infatti quello di inoltrare richieste *pull* ai servizi quando non ve ne sia bisogno, ovvero quando ancora non sia presente un nuovo campione dal dato. Inoltre è da notare che i prodotti hanno dei periodi di acquisizione differenti, quindi bisogna richiederne il download specificando il corretto parametro temporale per lo specifico prodotto. Qualora alla API venga richiesto un prodotto ad un tempo che non esiste, essa genera un errore. Per questo motivo è stato implementato un servizio WebSocket, quale canale di comunicazione ove con logica *push* viene comunicata la presenza di nuovi campioni del dato, evitando la generazione di errori e di richieste non necessarie. L'URL del WebSoket è: .. code-block:: html wss://7ju75f7wai.execute-api.eu-south-1.amazonaws.com/Prod/ A scopo illustrativo si riportano alcuni esempi di messaggi trasmessi sul WebSoket: .. code-block:: html MESSAGE subscription:sub-0 destination:/topic/product message-id:T_sub-0@@session-OG2P1Kwc2OiOtJNNaeaQwQ@@4 redelivered:false content-type:application/json;charset=UTF-8 content-length:74 {   "productType" : "VMI",   "time" : 1556116200000,   "period" : "PT5M" } .. code-block:: html MESSAGE subscription:sub-0 destination:/topic/product message-id:T_sub-0@@session-OG2P1Kwc2OiOtJNNaeaQwQ@@3 redelivered:false content-type:application/json;charset=UTF-8 content-length:74 {   "productType" : "SRI",   "time" : 1556116200000,   "period" : "PT5M" } Come è possibile notare, viene espressamente indicato il valore per il parametro *time* del nuovo campione presente. Ciò consente di poter comporre in modo corretto una richista di download alla REST API, esprimendo il valore del parametro time in modo coerente. Client Ufficiale: DPC-Radar-data-downloader ------------------------------------------- Il Dipartimento mette a disposizione un Client Ufficiale per l'Accesso e il Download dei dati, che si avvale del collegamento al WebSocket su cui vengono comunicati in modo *push* le notifiche di aggiornamento dei vari prodotti. Attraverso il client è dunque possibile effettuare richieste di download corrette dei prodotti desiderati. Il client è disponibile sul Repository `GitHub del Dipartimento `_ , raggiungibile al seguente indirizzo: .. code-block:: html https://github.com/pcm-dpc/DPC-Radar-data-downloader/tree/master/java All'interno del Repository è altresì specificato come effettuare il *Build* dell'applicazione e come configurarne i parametri (es. lista dei prodotti da scaricare). .. toctree:: :maxdepth: 2 :caption: Contenuti