Partager via


Tutoriel : Effectuer l’ingestion de l’analyseur CSV

L’ingestion des valeurs séparées par des virgules (CSV) permet d’ingérer des fichiers CSV dans une instance Azure Data Manager for Energy.

Dans ce tutoriel, vous allez apprendre à :

  • Ingérer un exemple de fichier CSV de données de puits dans une instance Azure Data Manager for Energy à l'aide de cURL.
  • Recherchez les enregistrements de métadonnées de stockage créés pendant l’ingestion CSV en utilisant cURL.

Conditions préalables

Obtenir des détails pour l’instance Azure Data Manager for Energy

  • Pour ce tutoriel, vous avez besoin des paramètres suivants :
Paramètre Valeur à utiliser Exemple : Où trouver cette valeur
DNS URI <instance>.energy.azure.com Recherchez cette valeur dans la page vue d’ensemble de l’instance Azure Data Manager for Energy.
data-partition-id Partitions de données <data-partition-id> Recherchez cette valeur dans la section Partitions de données dans l’instance Azure Data Manager for Energy.
access_token Valeur du jeton d’accès 0.ATcA01-XWHdJ0ES-qDevC6r........... Suivez comment générer un jeton d’authentification pour créer un jeton d’accès et l’enregistrer.

Suivez le guide Gérer les utilisateurs pour ajouter les droits appropriés pour l’utilisateur qui exécute ce didacticiel.

Configurer votre environnement

Vérifiez que vous avez cURL installé sur votre système. Vous l’utiliserez pour effectuer des appels d’API.

Ingérez les données de puits de forage à l’aide de cURL

Pour ingérer un exemple de fichier CSV de données de puits dans l’instance Azure Data Manager for Energy, effectuez les étapes suivantes : Remplacez les espaces réservés (<DNS>, <access_token>etc.) par les valeurs appropriées.

1. Créer un schéma

Exécutez la commande suivante cURL pour créer un schéma :

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

Exemple de réponse :

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

Enregistrez la réponse id pour l'utiliser dans les étapes suivantes.

Exécutez la commande suivante cURL pour créer une balise légale :

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

Exemple de réponse :

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

3. Obtenir une URL signée pour le chargement d’un fichier CSV

Exécutez la commande suivante cURL pour obtenir une URL signée :

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

Exemple de réponse :

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

Enregistrez le SignedURL et le FileSource à partir de la réponse pour les utiliser dans les étapes suivantes.

4. Charger un fichier CSV

Téléchargez l’exempleWellbore.csv sur votre ordinateur local. Exécutez ensuite la commande suivante cURL pour charger le fichier :

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

Exemple de réponse :

{
  "status": "Success"
}

5. Charger les métadonnées de fichier CSV

Exécutez la commande suivante cURL pour charger les métadonnées du fichier 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>"
                   }
               }
           }
       }'

Exemple de réponse :

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

Enregistrez l’ID iddu fichier chargé à partir de la réponse à utiliser à l’étape suivante.

6. Déclencher un flux de travail d’ingestion de l’analyseur CSV

Exécutez la commande suivante cURL pour déclencher le flux de travail d’ingestion :

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

Exemple de réponse :

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

Enregistrez la réponse runId pour l’utiliser à l’étape suivante.

7. Vérifiez l’état du flux de travail et attendez sa fin.

Exécutez la commande suivante cURL pour vérifier l’état de l’exécution du flux de travail :

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

Exemple de réponse :

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

Continuez à vérifier toutes les quelques secondes, jusqu’à ce que la réponse indique une réussite.

8. Rechercher des enregistrements CSV ingérés

Exécutez la commande suivante cURL pour rechercher les enregistrements ingérés :

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

Exemple de réponse :

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

Vous devriez être en mesure de voir les enregistrements dans les résultats de la recherche.

Étape suivante

Passez au tutoriel suivant :