Skip to main content

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:

AmbienteAccount
Testrpa-test@azienda.com
Produzionerpa-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:

https://rclone.org/downloads/

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:

  1. Rclone sincronizza OneDrive → input.

  2. Il Business Core elabora i file.

  3. I risultati vengono scritti in output.

  4. 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:

  1. Aprire Bitwarden.

  2. Creare un nuovo Send.

  3. Allegare:

rclone.conf
  1. Impostare:

  • scadenza 7 giorni

  • eliminazione automatica

  • password di accesso


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:

  1. Ricevere il file tramite Bitwarden Send.

  2. Posizionare il file:

Linux:

/opt/rclone/rclone.conf

Windows:

C:\rclone\rclone.conf
  1. Montare il file nel container.

Esempio:

volumes:
  - /opt/rclone/rclone.conf:/config/rclone.conf:ro
  1. Verificare il funzionamento:

rclone ls onedrive_rpa: --config=/config/rclone.conf
  1. 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.