Compartilhar via


Tutorial: Executar a importação do parser CSV

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

Neste tutorial, você aprenderá como:

  • Ingerir um arquivo CSV de dados de amostra de um poço em uma instância do Gerenciador de Dados do Azure para Energia usando cURL.
  • Pesquise registros de metadados de armazenamento criados durante a ingestão de CSV usando cURL.

Pré-requisitos

Obter detalhes da instância do Azure Data Manager para Energia

  • Para este tutorial, você precisa dos seguintes parâmetros:
Parâmetro Valor a ser usado Exemplo Onde encontrar esse valor
DNS URI <instance>.energy.azure.com Localize esse valor na página de visão geral da instância do Azure Data Manager para Energia.
data-partition-id Partições de dados <data-partition-id> Localize 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.

Configure seu ambiente

Certifique-se de que tem cURL instalado em seu sistema. Você o usará para fazer chamadas à API.

Ingerir dados de um poço usando cURL

Para ingerir um arquivo CSV de dados de amostra de um poço na instância do Gerenciador de Dados do Azure para Energia, 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 uma URL assinada 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. Carregar um arquivo CSV

Baixe o exemplo deWellbore.csv para o computador 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. Carregar 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 é o ID do arquivo carregado, na resposta para uso na próxima etapa.

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

Execute o seguinte comando cURL para disparar 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 status do fluxo de trabalho e aguarde 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. Pesquisar registros CSV ingeridos

Execute o seguinte cURL comando para pesquisar registros 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óxima etapa

Prosseguir para o próximo tutorial: