Compartir a través de


Tutorial: Realizar la ingesta del analizador de CSV

La ingesta del analizador de valores separados por comas (CSV) proporciona la capacidad de ingerir archivos CSV en una instancia de Azure Data Manager for Energy.

En este tutorial, aprenderá a:

  • Ingesta de un archivo CSV de datos de Wellbore de ejemplo en una instancia de Azure Data Manager for Energy mediante cURL.
  • Busque registros de metadatos de almacenamiento creados durante la ingesta de CSV mediante cURL.

Prerrequisitos

Obtención de detalles para la instancia de Azure Data Manager for Energy

  • Para este tutorial, necesitarás los parámetros siguientes:
Parámetro Valor que se usará Ejemplo Dónde encontrar este valor
DNS URI <instance>.energy.azure.com Busca este valor en la página de información general de la instancia de Azure Data Manager for Energy.
data-partition-id Particiones de datos <data-partition-id> Busque este valor en la sección Particiones de datos de la instancia de Azure Data Manager for Energy.
access_token Valor del token de acceso 0.ATcA01-XWHdJ0ES-qDevC6r........... Siga Cómo generar el token de autenticación para crear un token de acceso y guardarlo.

Sigue la guía de Administración de usuarios para agregar los derechos adecuados para el usuario que ejecuta este tutorial.

Configuración del entorno

Asegúrese de que ha cURL instalado en el sistema. La usará para realizar llamadas API.

Ingesta de datos de wellbore mediante cURL

Para importar un archivo CSV de datos de pozo de ejemplo en la instancia de Azure Data Manager for Energy, complete los pasos siguientes: Reemplace los marcadores de posición (<DNS>, <access_token>, etc.) por los valores adecuados.

1. Crear un esquema

Ejecute el siguiente cURL comando para crear un 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"
                   }
               }
           }
       }'

Ejemplo de respuesta:

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

Guarde el id de la respuesta para su uso en los pasos posteriores.

Ejecute el comando siguiente cURL para crear una etiqueta 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"
           }
       }'

Ejemplo de respuesta:

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

3. Obtener una dirección URL firmada para cargar un archivo CSV

Ejecute el comando siguiente cURL para obtener una dirección URL firmada:

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

Ejemplo de respuesta:

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

Guarde el SignedURL y el FileSource de la respuesta para su uso en los pasos siguientes.

4. Cargar un archivo CSV

Descargue el ejemplo Wellbore.csv en su ordenador local. A continuación, ejecute el siguiente cURL comando para cargar el archivo:

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

Ejemplo de respuesta:

{
  "status": "Success"
}

5. Cargar metadatos de archivo CSV

Ejecute el siguiente cURL comando para cargar metadatos para el archivo 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>"
                   }
               }
           }
       }'

Ejemplo de respuesta:

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

Guarde el identificador del archivo subido, id, de la respuesta para usar en el siguiente paso.

6. Desencadenar un flujo de trabajo de ingesta del analizador CSV

Ejecute el siguiente cURL comando para activar el proceso de ingesta.

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>"
           }
       }'

Ejemplo de respuesta:

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

Guarde el runId de la respuesta para su uso en el paso siguiente.

7. Compruebe el estado del flujo de trabajo y espere a su finalización.

Ejecute el comando siguiente cURL para comprobar el estado de la ejecución del flujo de trabajo:

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>"      

Ejemplo de respuesta:

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

Mantenga la comprobación cada pocos segundos hasta que la respuesta indique una finalización correcta.

8. Búsqueda de registros CSV ingeridos

Ejecute el siguiente cURL comando para buscar 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"
       }'

Ejemplo de respuesta:

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

Debería poder ver los registros en los resultados de la búsqueda.

Paso siguiente

Avance hasta el siguiente tutorial: