Como carregar ficheiros no Azure Data Manager for Energy utilizando o serviço de Ficheiros
Neste artigo, você sabe como carregar arquivos grandes (~5 GB) usando a API de serviço de arquivo no Microsoft Azure Data Manager for Energy. O processo de carregamento envolve buscar uma URL assinada da API de Arquivo e, em seguida, usar a URL assinada para armazenar o arquivo no Armazenamento de Blob do Azure
Gerar um URL assinado
Execute o comando curl abaixo no Azure Cloud Bash para obter uma URL assinada do serviço de arquivos para uma determinada partição de dados do seu recurso do 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'
Pedido de amostra
Considere um recurso do Azure Data Manager for Energy chamado "medstest" com uma partição de dados chamada "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'
Resposta da amostra
{
"FileID": "2c5e7ac738a64eaeb7c0bc8bd47f90b6",
"Location": {
"SignedURL": "https://dummy.bloburl.com",
"FileSource": "/osdu-user/1686647303778-2023-06-13-09-08-23-778/2c5e7ac738a64eaeb7c0bc8bd47f90b6"
}
}
A chave SignedURL no objeto de resposta pode ser usada para carregar arquivos no Armazenamento de Blobs do Azure. O tempo de expiração do serviço SignedURL for File e Dataset é de 1 hora de acordo com os aprimoramentos de segurança do OSDU.
Carregue ficheiros com tamanho inferior a 5 GB
Para carregar tamanhos de arquivo inferiores a 5 GB, pode-se usar diretamente a chamada da API de blob PUT para carregar seus arquivos no Armazenamento de Blob do Azure
Pedido de Amostra de Cachos
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>'
Se o upload for bem-sucedido, recebemos um código de 201 Created
status em resposta
Carregue ficheiros com tamanho igual ou superior a 5 GB
Para carregar arquivos com tamanhos >= 5 GB, precisaríamos do utilitário azcopy, pois uma única chamada de blob PUT não pode ser maior que 5 GB doc link
Passos
Faça o download
azcopy
usando este linkExecute este comando para carregar o ficheiro
azcopy copy "<path_to_file>" "signed_url"
- Resposta da amostra
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
Próximos passos
Comece sua jornada ingerindo dados em seu recurso do Azure Data Manager for Energy.