Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie große Dateien (ca. 5 GB) mithilfe der Dateidienst-API in Microsoft Azure Data Manager for Energy hochladen. Der Uploadvorgang umfasst das Abrufen einer signierten URL über die Datei-API und die anschließende Verwendung der signierten URL zum Speichern der Datei in Azure Blob Storage.
Generieren einer signierten URL
Führen Sie den folgenden curl-Befehl in Azure Cloud Bash aus, um eine signierte URL vom Dateidienst für eine bestimmte Datenpartition Ihrer Azure Data Manager for Energy-Ressource abzurufen.
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'
Beispielanforderung
Verwenden Sie eine Azure Data Manager for Energy-Ressource namens „medstest“ mit einer Datenpartition namens „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'
Beispiel für eine Antwort
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
Der SignedURL-Schlüssel im Antwortobjekt kann dann verwendet werden, um Dateien in Azure Blob Storage hochzuladen. Die Ablaufzeit des SignedURL-Schlüssels für den Dateidienst und Datasetdienst beträgt gemäß den Sicherheitsverbesserungen von OSDU eine Stunde.
Hochladen von Dateien mit einer Größe von weniger als 5 GB
Um Dateigrößen von weniger als 5 GB hochzuladen, kann direkt der API-Aufruf „PUT Blob“ verwendet werden, um die Dateien in Azure Blob Storage hochzuladen.
Curl-Beispielanforderung
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>'
Wenn der Upload erfolgreich ist, erhalten Sie den Statuscode 201 Created
in der Antwort.
Hochladen von Dateien, die größer als oder gleich 5 GB sind
Um Dateien mit Größen von >= 5 GB hochzuladen, benötigen Sie das Hilfsprogramm azcopy, da ein einzelner PUT blob-Aufruf nicht größer als 5 GB sein kann (Link zur Dokumentation).
Schritte
Laden Sie
azcopy
mithilfe dieses Links herunter.Führen Sie diesen Befehl aus, um Ihre Datei hochzuladen.
azcopy copy "<path_to_file>" "signed_url"
- Beispiel für eine Antwort
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
Nächste Schritte
Beginnen Sie mit dem Erfassen von Daten in Ihrer Azure Data Manager for Energy-Ressource.