Partager via


Comment charger des fichiers dans Azure Data Manager for Energy à l’aide du service de fichiers

Dans cet article, vous apprenez à charger des fichiers volumineux (~5 Go) à l’aide de l’API de service de fichiers dans Microsoft Azure Data Manager for Energy. Le processus de chargement implique l’extraction d’une URL signée à partir d'API de fichier, puis l’URL signée pour stocker le fichier dans Stockage Blob Azure

Générer une URL signée

Exécutez la commande Curl ci-dessous dans Azure Cloud Bash pour obtenir une URL signée à partir du service de fichiers pour une partition de données donnée de votre ressource Azure Data Manager for Energy.

    curl --location 'https://<URI>/api/file/v2/files/uploadURL' \
    --header 'data-partition-id: <data-partition-id>' \
    --header 'Authorization: Bearer <access_token>' \
    --header 'Content-Type: text/plain'

Exemple de requête

Considérez une instance Azure Data Manager for Energy nommée « medstest » avec une partition de données nommée « dp1 »

    curl --location --request POST 'https://medstest.energy.azure.com/api/file/v2/files/uploadURL' \
    --header 'data-partition-id: medstest-dp1' \
    --header 'Authorization: Bearer  eyxxxxxxx.........................' \
    --header 'Content-Type: text/plain'

Exemple de réponse

{
    "FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
    "Location": {
        "SignedURL": "https://dummy.bloburl.com",
        "FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
    }
}

La clé SignedURL dans l’objet réponse peut ensuite être utilisée pour charger des fichiers dans Stockage Blob Azure. La durée avant expiration du service de fichiers et du service de jeu de données SignedURL est de 1 heure en fonction des améliorations de sécurité de OSDU.

Charger des fichiers dont la taille est inférieure à 5 Go

Pour charger des tailles de fichier inférieures à 5 Go, vous pouvez utiliser directement l’appel d’API PUT blob pour charger leurs fichiers dans Stockage Blob Azure

Exemple de requête Curl

    curl --location --request PUT '<SIGNED_URL>' \
    --header 'x-ms-blob-type: BlockBlob' \
    --header 'Content-Type: <file_type>' \ # for instance application/zip or application/csv or application/json depending on file type
    --data '@/<path_to_file>'

Si le chargement réussit, nous obtenons un code d’état 201 Created en réponse

Charger des fichiers dont la taille est supérieure ou égale à 5 Go

Pour charger des fichiers avec des tailles >= 5 Go, il nous faudrait un utilitaireazcopy, puisqu’un appel PUT blob unique ne peut pas être supérieur à 5 Go lien doc

Étapes

  1. Téléchargez azcopy à l’aide de ce lien

  2. Exécutez cette commande pour charger votre fichier

    azcopy copy "<path_to_file>" "signed_url"
  1. Exemple de réponse
    INFO: Could not read destination length. If the destination is write-only, use --check-length=false on the command line.
    100.0 %, 1 Done, 0 Failed, 0 Pending, 0 Skipped, 1 Total
    
    Job 624c59e8-9d5c-894a-582f-ef9d3fb3091d summary
    Elapsed Time (Minutes): 0.1002
    Number of File Transfers: 1
    Number of Folder Property Transfers: 0
    Number of Symlink Transfers: 0
    Total Number of Transfers: 1
    Number of File Transfers Completed: 1
    Number of Folder Transfers Completed: 0
    Number of File Transfers Failed: 0
    Number of Folder Transfers Failed: 0
    Number of File Transfers Skipped: 0
    Number of Folder Transfers Skipped: 0
    TotalBytesTransferred: 1367301
    Final Job Status: Completed

Étapes suivantes

Commencez votre parcours en ingérant des données dans votre ressource Azure Data Manager for Energy.