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
Téléchargez
azcopy
à l’aide de ce lienExécutez cette commande pour charger votre fichier
azcopy copy "<path_to_file>" "signed_url"
- 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.