Objectif

AzCopy est un utilitaire Microsoft permettant de transférer des fichiers entre :

  • un serveur local (Linux / Windows)
  • un stockage Azure Blob (utilisé ici par Cegid)

Il est utilisé pour :

  • envoyer des fichiers vers le cloud Cegid 
  • récupérer des fichiers depuis le cloud Cegid 

Principe de fonctionnement

AzCopy fonctionne via une URL sécurisée contenant un token SAS.

Le flux est le suivant :

  1. récupération d’un JWT auprès de Cegid
  2. appel API pour obtenir une clé SAS
  3. construction d’une URL Blob avec cette clé SAS
  4. exécution d’AzCopy avec cette URL


Documentation Microsoft : https://learn.microsoft.com/fr-fr/azure/storage/common/storage-use-azcopy-v10


Exemple – Envoi d’un fichier (upload)

Commande

azcopy copy "/generix/out/TARIFDET.LIN" "https://<blob>/<container>/in/TARIFDET.LIN?<sas>" --overwrite=true

Log JobScheduler (extrait réel)

[2026-04-17 10:35:30] Fichier 25/31 : TARIFDET.LIN (97,7 MiB) [2026-04-17 10:35:30] Upload AzCopy de TARIFDET.LIN... INFO: Scanning... Job 8ef936e0-c92c-f840-5d91-adbfcd7be63d has started Log file is located at: /root/.azcopy/8ef936e0-c92c-f840-5d91-adbfcd7be63d.log 0.0 %, 0 Done, 1 Pending... 10.0 %, 0 Done, 1 Pending... 59.1 %, 0 Done, 1 Pending... 100.0 %, 1 Done, 0 Failed, 0 Pending Job summary Elapsed Time (Minutes): 0.53 Number of File Transfers: 1 Number of File Transfers Completed: 1 Total Number of Bytes Transferred: 102494726 Final Job Status: Completed [2026-04-17 10:36:02] OK: TARIFDET.LIN transféré

Exemple – Récupération de fichiers (download)

Commande

azcopy copy "https://<blob>/<container>/out/*?<sas>" "/tmp/in/SCM" --include-pattern="*.LIN;SURSTOCK.TXT"

Log JobScheduler (extrait réel)

==> Récupération du token JWT... Token JWT récupéré avec succès. ==> Récupération de la clé SAS... Clé SAS récupérée avec succès. ==> Téléchargement des fichiers depuis /out... INFO: Scanning... Job 70ed36ea-5163-f14c-6b8c-2e113386c39d has started Log file is located at: /root/.azcopy/70ed36ea-5163-f14c-6b8c-2e113386c39d.log 0.1 %, 3 Done, 2 Pending... 72.0 %, 4 Done, 1 Pending... 100.0 %, 5 Done, 0 Failed, 0 Pending Job summary Elapsed Time (Minutes): 0.36 Number of File Transfers: 5 Number of File Transfers Completed: 5 Total Number of Bytes Transferred: 59997601 Final Job Status: Completed

Points clés

  • AzCopy travaille directement entre serveur et Azure Blob
  • Le transfert est sécurisé via SAS token
  • Chaque exécution crée :
    • un Job ID
    • un log détaillé local (/root/.azcopy/...)

Points d’attention

  • le SAS a une durée de vie limitée
  • un SAS expiré provoque des erreurs 403
  • AzCopy ne gère pas la logique métier (filtrage, attente, etc.)
  • la sélection des fichiers dépend de --include-pattern

Résumé

  • Upload : serveur → Blob /in
  • Download : Blob /out → serveur
  • AzCopy = brique technique de transfert, indépendante du reste du flux