Comment charger des fichiers dans Azure Data Manager for Energy à l’aide du service de fichiers
Dans cet article, vous savez comment 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 d’extraire une URL signée à partir de l’API Fichier, puis d’utiliser 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 ressource 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
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 blob PUT 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, nous aurions >besoin d’un utilitaire azcopyen tant qu’appel d’objet blob PUT unique ne peut pas être supérieur à 5 Go de lien doc
Étapes
Télécharger
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éré des données dans votre ressource Azure Data Manager for Energy.