Usage
Utilizzo di OneDrive tramite Rclone
Obiettivo
Questa guida descrive come integrare un account Microsoft OneDrive nelle automazioni RPA utilizzando Rclone, garantendo:
-
Sincronizzazione automatica dei file.
-
Separazione tra account personali e account di servizio.
-
Portabilità tra ambienti Linux e Windows.
-
Integrazione con Docker Compose.
-
Gestione sicura delle configurazioni durante il rilascio.
1. Architettura Consigliata
Account OneDrive
Raccomandazione
Non utilizzare account personali degli sviluppatori.
È preferibile utilizzare:
-
Account Microsoft dedicato al robot.
-
Casella tecnica condivisa.
-
Account di servizio gestito dal reparto IT.
Esempi:
| Ambiente | Account |
|---|---|
| Test | rpa-test@azienda.com |
| Produzione | rpa-prod@azienda.com |
Vantaggi:
-
Nessuna dipendenza da utenti specifici.
-
Credenziali centralizzate.
-
Maggiore tracciabilità.
-
Gestione semplificata dei permessi.
2. Configurazione Iniziale di Rclone
Installazione
Linux
curl https://rclone.org/install.sh | sudo bash
Windows
Scaricare il pacchetto da:
e aggiungere il percorso al PATH di sistema.
Creazione del Remote OneDrive
Avviare:
rclone config
Creare un nuovo remote:
n) New remote
name> onedrive_rpa
Storage> onedrive
Seguire la procedura guidata Microsoft.
Al termine verrà generato il file:
Linux
~/.config/rclone/rclone.conf
Windows
C:\Users\<utente>\AppData\Roaming\rclone\rclone.conf
3. Verifica della Connessione
Visualizzare il contenuto remoto:
rclone ls onedrive_rpa:
Verificare i dettagli:
rclone about onedrive_rpa:
4. Sincronizzazione
Download da OneDrive
rclone sync onedrive_rpa:/DocumentiRPA /data/onedrive
Upload verso OneDrive
rclone sync /data/output onedrive_rpa:/OutputRobot
Modalità consigliata
Per evitare cancellazioni accidentali:
rclone copy
invece di
rclone sync
quando non è necessario allineare perfettamente le directory.
5. Utilizzo in Docker
Volumi
All'interno del container:
/opt/rclone/config
/opt/rclone/data
Docker Compose Standard
services:
rclone-sync:
image: rclone/rclone:latest
container_name: rclone-sync
restart: unless-stopped
command: >
sync
onedrive_rpa:/DocumentiRPA
/data/onedrive
--config=/config/rclone.conf
volumes:
- ./rclone:/config
- ./data:/data
business-core:
image: company/business-core:latest
depends_on:
- rclone-sync
volumes:
- ./data:/data
environment:
ONEDRIVE_PATH=/data/onedrive
6. Aggiornamento Periodico
È consigliabile eseguire la sincronizzazione tramite scheduler.
Esempio Linux:
*/10 * * * * rclone sync onedrive_rpa:/DocumentiRPA /data/onedrive
Aggiornamento ogni 10 minuti.
7. Accesso dai Processi RPA
L'automazione non deve interagire direttamente con OneDrive.
L'automazione deve leggere e scrivere esclusivamente sul filesystem locale sincronizzato da Rclone.
Linux
Lettura file:
from pathlib import Path
input_file = Path("/data/onedrive/input.xlsx")
Scrittura file:
output_file = Path("/data/onedrive/output.xlsx")
Windows
Lettura file:
from pathlib import Path
input_file = Path(r"C:\rpa\data\onedrive\input.xlsx")
Scrittura file:
output_file = Path(r"C:\rpa\data\onedrive\output.xlsx")
8. Gestione nel Business Core
Pattern Consigliato
Creare una cartella dedicata:
data/
└── onedrive/
├── input/
├── output/
└── archive/
Workflow:
-
Rclone sincronizza OneDrive → input.
-
Il Business Core elabora i file.
-
I risultati vengono scritti in output.
-
Un secondo job Rclone pubblica output su OneDrive.
9. Gestione delle Configurazioni
File da Conservare
rclone.conf
Contiene:
-
refresh token
-
configurazione remote
-
parametri Microsoft
È da considerarsi una credenziale.
Non deve essere versionato su Git.
10. Consegna ai DevOps
Procedura Raccomandata
Creazione del Send
Da Bitwarden:
-
Aprire Bitwarden.
-
Creare un nuovo Send.
-
Allegare:
rclone.conf
-
Impostare:
-
scadenza 7 giorni
-
eliminazione automatica
-
password di accesso
-
Inviare il link al team DevOps.
Informazioni da fornire
Nel ticket di rilascio allegare:
Nome Remote:
onedrive_rpa
Percorso Config:
<path ambiente>
Percorso Sincronizzazione:
<path locale>
Direzione:
download/upload/bidirezionale
Frequenza:
ogni X minuti
11. Deployment in Produzione
I DevOps dovranno:
-
Ricevere il file tramite Bitwarden Send.
-
Posizionare il file:
Linux:
/opt/rclone/rclone.conf
Windows:
C:\rclone\rclone.conf
-
Montare il file nel container.
Esempio:
volumes:
- /opt/rclone/rclone.conf:/config/rclone.conf:ro
-
Verificare il funzionamento:
rclone ls onedrive_rpa: --config=/config/rclone.conf
-
Avviare l'automazione.
12. Best Practice
-
Utilizzare sempre account di servizio.
-
Non committare mai rclone.conf.
-
Distribuire la configurazione tramite Bitwarden Send.
-
Separare sincronizzazione e logica di business.
-
Utilizzare percorsi locali condivisi con il robot.
-
Preferire copy a sync quando non è richiesta la cancellazione dei file.
-
Monitorare periodicamente la validità del token Microsoft.
-
Prevedere una procedura di rigenerazione delle credenziali in caso di cambio password o revoca dell'account.
No Comments