Bestanden uploaden in Azure Data Manager for Energy met behulp van fileservice
In dit artikel weet u hoe u grote bestanden (~5 GB) uploadt met behulp van de File Service-API in Microsoft Azure Data Manager for Energy. Het uploadproces omvat het ophalen van een ondertekende URL uit bestands-API en vervolgens het gebruik van de ondertekende URL om het bestand op te slaan in Azure Blob Storage
Een ondertekende URL genereren
Voer de onderstaande curl-opdracht uit in Azure Cloud Bash om een ondertekende URL op te halen uit de bestandsservice voor een bepaalde gegevenspartitie van uw Azure Data Manager for Energy-resource.
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'
Voorbeeldaanvraag
Overweeg een Azure Data Manager for Energy-resource met de naam 'medstest' met een gegevenspartitie met de naam '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'
Voorbeeldrespons
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
De OndertekendeURL-sleutel in het antwoordobject kan vervolgens worden gebruikt om bestanden te uploaden naar Azure Blob Storage. De verlooptijd van de OndertekendeURL voor bestandsservice en gegevenssetservice is 1 uur volgens beveiligingsverbeteringen van OSDU.
Bestanden uploaden met een grootte van minder dan 5 GB
Als u bestandsgrootten van minder dan 5 GB wilt uploaden, kunt u rechtstreeks put-blob-API-aanroep gebruiken om hun bestanden te uploaden naar Azure Blob Storage
Voorbeeld van Curl-aanvraag
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>'
Als het uploaden is geslaagd, krijgen we een 201 Created
statuscode als antwoord
Bestanden uploaden met een grootte groter of gelijk aan 5 GB
Als u bestanden met grootten = 5 GB wilt uploaden>, hebben we azcopy-hulpprogrammanodig als één PUT-blob-aanroep kan niet groter zijn dan 5 GB doc-koppeling
Stappen
Downloaden
azcopy
via deze koppelingVoer deze opdracht uit om uw bestand te uploaden
azcopy copy "<path_to_file>" "signed_url"
- Voorbeeldrespons
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
Volgende stappen
Begin uw traject door gegevens op te nemen in uw Azure Data Manager for Energy-resource.