Freigeben über


Tutorial: Ausführen einer CSV-Parser-Verarbeitung

Die CSV-Parsererfassung (Comma-separated values) bietet die Möglichkeit, CSV-Dateien in einer Azure Data Manager for Energy-Instanz zu erfassen.

In diesem Tutorial lernen Sie Folgendes:

  • Erfassen einer CSV-Beispieldatei für Bohrlochdaten in einer Azure Data Manager for Energy-Instanz mithilfe von cURL
  • Suchen Sie mithilfe von cURL nach Speichermetadatensätzen, die während der CSV-Einführung erstellt wurden.

Voraussetzungen

Abrufen von Details zur Instanz von Azure Data Manager for Energy

  • Für dieses Lernprogramm benötigen Sie die folgenden Parameter:
Parameter Zu verwendender Wert Beispiel Wo dieser Wert gefunden werden soll
DNS URI (Uniform Resource Identifier) <instance>.energy.azure.com Diesen Wert finden Sie auf der Übersichtsseite des Azure Data Manager für Energieinstanz.
data-partition-id Datenpartitionen <data-partition-id> Suchen Sie diesen Wert im Abschnitt "Datenpartitionen" im Azure Data Manager für Energieinstanz.
access_token Zugriffstokenwert 0.ATcA01-XWHdJ0ES-qDevC6r........... Folgen Sie , wie Sie Authentifizierungstoken generieren , um ein Zugriffstoken zu erstellen und zu speichern.

Folgen Sie dem Leitfaden " Benutzer verwalten" , um dem Benutzer, der dieses Lernprogramm ausführt, geeignete Berechtigungen hinzuzufügen.

Richten Sie Ihre Umgebung ein

Stellen Sie sicher, dass cURL auf Ihrem System installiert ist. Sie verwenden es, um API-Aufrufe zu tätigen.

Erfassen von Bohrlochdaten mithilfe von cURL

Um eine Beispiel-Bohrloch-Daten-CSV-Datei in den Azure Data Manager für Energie zu importieren, gehen Sie wie folgt vor: Ersetzen Sie die Platzhalter (<DNS>, <access_token> usw.) durch die entsprechenden Werte.

1. Erstellen eines Schemas

Führen Sie den folgenden cURL Befehl aus, um ein Schema zu erstellen:

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

Beispielantwort:

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

Speichern Sie die id aus der Antwort für die Verwendung in nachfolgenden Schritten.

Führen Sie den folgenden cURL-Befehl aus, um ein rechtliches Tag zu erstellen:

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

Beispielantwort:

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

3. Abrufen einer signierten URL zum Hochladen einer CSV-Datei

Führen Sie den folgenden cURL Befehl aus, um eine signierte URL abzurufen:

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

Beispielantwort:

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

Speichern Sie die SignedURL und FileSource aus der Antwort für die Verwendung in den nächsten Schritten.

4. Hochladen einer CSV-Datei

Laden Sie das Wellbore.csv Beispiel auf Ihren lokalen Computer herunter. Führen Sie dann den folgenden cURL Befehl aus, um die Datei hochzuladen:

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

Beispielantwort:

{
  "status": "Success"
}

5. Hochladen von CSV-Dateimetadaten

Führen Sie den folgenden cURL Befehl aus, um Metadaten für die CSV-Datei hochzuladen:

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

Beispielantwort:

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

Speichern Sie die ID der idhochgeladenen Datei aus der Antwort für die Verwendung im nächsten Schritt.

6. Auslösen eines CSV-Parser-Import-Workflows

Führen Sie den folgenden cURL-Befehl aus, um den Datenaufnahmeworkflow auszulösen:

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

Beispielantwort:

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

Speichern Sie die runId aus der Antwort zur Verwendung im nächsten Schritt.

7. Überprüfen Sie den Status des Workflows, und warten Sie auf den Abschluss.

Führen Sie den folgenden cURL Befehl aus, um den Status der Workflowausführung zu überprüfen:

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

Beispielantwort:

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

Überprüfen Sie alle paar Sekunden, bis die Antwort einen erfolgreichen Abschluss anzeigt.

8. Suchen nach aufgenommenen CSV-Datensätzen

Führen Sie den folgenden cURL Befehl aus, um nach aufgenommenen Datensätzen zu suchen:

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

Beispielantwort:

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

Sie sollten die Datensätze in den Suchergebnissen sehen können.

Nächster Schritt

Fahren Sie mit dem nächsten Tutorial fort: