Partilhar via


Tutorial: Executar a ingestão de parser CSV

A ingestão do analisador de valores separados por vírgulas (CSV) fornece a capacidade de ingerir arquivos CSV em uma instância do Azure Data Manager for Energy.

Neste tutorial, você aprenderá a:

  • Ingerir um arquivo CSV com exemplos de dados de poço numa instância do Azure Data Manager for Energy usando cURL.
  • Pesquise registos de metadados de armazenamento criados durante a ingestão de CSV através de cURL.

Pré-requisitos

Obter detalhes para a instância do Azure Data Manager for Energy

  • Para este tutorial, você precisa dos seguintes parâmetros:
Parâmetro Valor a utilizar Exemplo Onde encontrar este valor
DNS URI <instance>.energy.azure.com Encontre esse valor na página de visão geral da instância do Azure Data Manager for Energy.
data-partition-id Partições de dados <data-partition-id> Encontre esse valor na seção Partições de Dados na instância do Azure Data Manager for Energy.
access_token Valor do token de acesso 0.ATcA01-XWHdJ0ES-qDevC6r........... Siga Como gerar um token de autenticação para criar um token de acesso e salvá-lo.

Siga o guia Gerenciar usuários para adicionar direitos apropriados para o usuário que está executando este tutorial.

Configurar o ambiente

Certifique-se de ter cURL instalado no seu sistema. Você vai usá-lo para fazer chamadas de API.

Ingerir dados de poço de perfuração utilizando cURL

Para ingerir um arquivo CSV de dados de poço de exemplo na instância do Azure Data Manager for Energy, conclua as seguintes etapas: Substitua os espaços reservados (<DNS>, <access_token>, etc.) pelos valores apropriados.

1. Criar um esquema

Execute o seguinte cURL comando para criar um esquema:

curl -X POST "https://<DNS>/api/schema-service/v1/schema" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>" \
     -d '{
           "schemaInfo": {
               "schemaIdentity": {
                   "authority": "<data-partition-id>",
                   "source": "shapeFiletest",
                   "entityType": "testEntity",
                   "schemaVersionPatch": 1,
                   "schemaVersionMinor": 0,
                   "schemaVersionMajor": 0
               },
               "status": "DEVELOPMENT"
           },
           "schema": {
               "$schema": "http://json-schema.org/draft-07/schema#",
               "title": "Wellbore",
               "type": "object",
               "properties": {
                   "UWI": {
                       "type": "string",
                       "description": "Unique Wellbore Identifier"
                   }
               }
           }
       }'

Exemplo de resposta:

{
  "id": "schema-12345",
  "status": "DEVELOPMENT"
}

Salve o id da resposta para uso nas etapas subsequentes.

Execute o seguinte cURL comando para criar uma marca legal:

curl -X POST "https://<DNS>/api/legal/v1/legaltags" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>" \
     -d '{
           "name": "LegalTagName",
           "description": "Legal Tag added for Well",
           "properties": {
               "contractId": "123456",
               "countryOfOrigin": ["US", "CA"],
               "dataType": "Third Party Data",
               "exportClassification": "EAR99",
               "originator": "Schlumberger",
               "personalData": "No Personal Data",
               "securityClassification": "Private",
               "expirationDate": "2025-12-25"
           }
       }'

Exemplo de resposta:

{
  "name": "LegalTagName",
  "status": "Created"
}

3. Obter um URL assinado para carregar um arquivo CSV

Execute o seguinte cURL comando para obter uma URL assinada:

curl -X GET "https://<DNS>/api/file/v2/files/uploadURL" \
     -H "Authorization: Bearer <access_token>" \
     -H "data-partition-id: <data-partition-id>"

Exemplo de resposta:

{
  "SignedURL": "https://storageaccount.blob.core.windows.net/container/file.csv?sv=...",
  "FileSource": "file-source-12345"
}

Salve o SignedURL e FileSource da resposta para uso nas próximas etapas.

4. Carregue um ficheiro CSV

Transfira a amostraWellbore.csv para a sua máquina local. Em seguida, execute o seguinte cURL comando para carregar o arquivo:

curl -X PUT -T "Wellbore.csv" "<SignedURL>" -H "x-ms-blob-type: BlockBlob"     

Exemplo de resposta:

{
  "status": "Success"
}

5. Carregue metadados de arquivo CSV

Execute o seguinte cURL comando para carregar metadados para o arquivo CSV:

curl -X POST "https://<DNS>/api/file/v2/files/metadata" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>" \
     -d '{
           "kind": "osdu:wks:dataset--File.Generic:1.0.0",
           "acl": {
               "viewers": ["data.default.viewers@<data-partition-id>.dataservices.energy"],
               "owners": ["data.default.owners@<data-partition-id>.dataservices.energy"]
           },
           "legal": {
               "legaltags": ["<data-partition-id>-LegalTagName"],
               "otherRelevantDataCountries": ["US"],
               "status": "compliant"
           },
           "data": {
               "DatasetProperties": {
                   "FileSourceInfo": {
                       "FileSource": "<FileSource>"
                   }
               }
           }
       }'

Exemplo de resposta:

{
  "id": "metadata-12345",
  "status": "Created"
}

Salve o id, que é a ID do arquivo carregado, da resposta para uso na próxima etapa.

6. Acione um fluxo de trabalho de ingestão do analisador CSV

Execute o seguinte cURL comando para acionar o fluxo de trabalho de ingestão:

curl -X POST "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>" \
     -d '{
           "executionContext": {
               "id": "<uploadedFileId>",
               "dataPartitionId": "<data-partition-id>"
           }
       }'

Exemplo de resposta:

{
  "runId": "workflow-12345",
  "status": "Running"
}

Salve o runId da resposta para uso na próxima etapa.

7. Verifique o estado do fluxo de trabalho e aguarde a sua conclusão.

Execute o seguinte cURL comando para verificar o status da execução do fluxo de trabalho:

curl -X GET "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun/<runId>" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>"      

Exemplo de resposta:

{
  "runId": "workflow-12345",
  "status": "Completed"
}

Continue verificando a cada poucos segundos, até que a resposta indique uma conclusão bem-sucedida.

8. Pesquise por registros CSV ingeridos

Execute o seguinte cURL comando para procurar registos ingeridos:

curl -X POST "https://<DNS>/api/search/v2/query" \
     -H "Authorization: Bearer <access_token>" \
     -H "Content-Type: application/json" \
     -H "data-partition-id: <data-partition-id>" \
     -d '{
           "kind": "osdu:wks:dataset--File.Generic:1.0.0"
       }'

Exemplo de resposta:

{
  "results": [
    {
      "id": "dataset-12345",
      "kind": "osdu:wks:dataset--File.Generic:1.0.0",
      "status": "Available"
    }
  ]
}

Você deve ser capaz de ver os registros nos resultados da pesquisa.

Próximo passo

Avance para o tutorial seguinte: