Kılavuz: CSV ayrıştırıcı ile veri yükleme gerçekleştirme

Virgülle ayrılmış değerler (CSV) ayrıştırıcı alımı, CSV dosyalarını Enerji için Azure Data Manager örneğine alma özelliği sağlar.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Kullanarak cURL, bir örnek sondaj deliği veri CSV dosyasını Enerji için Azure Data Manager instance'ına al.
  • CSV alımı sırasında oluşturulan depolama meta verisi kayıtlarını cURL kullanarak arayın.

Önkoşullar

Enerji için Azure Data Manager örneğinin ayrıntılarını alma

  • Bu öğretici için aşağıdaki parametrelere ihtiyacınız vardır:
Parametre Kullanılacak değer Örnek Bu değer nerede bulunur?
DNS URI (Evrensel Kaynak Tanımlayıcısı) <instance>.energy.azure.com Bu değeri Enerji için Azure Data Manager örneğinin genel bakış sayfasında bulabilirsiniz.
data-partition-id Veri bölümleri <data-partition-id> Bu değeri Enerji için Azure Veri Yöneticisi örneğinin Veri Bölümleri bölümünde bulabilirsiniz.
access_token Erişim belirteci değeri 0.ATcA01-XWHdJ0ES-qDevC6r........... Kimlik doğrulama belirteci oluşturma adımlarını izleyerek bir erişim belirteci oluşturun ve kaydedin.

Bu öğreticiyi çalıştıran kullanıcıya uygun yetkilendirmeler eklemek için Kullanıcıları yönetme kılavuzunu izleyin.

Ortamınızı ayarlama

cURL Sisteminizde yüklü olduğundan emin olun. API çağrıları yapmak için bunu kullanacaksınız.

Kuyu deliği verilerini cURL kullanarak al.

Örnek bir kuyu deliği veri CSV dosyasını Azure Data Manager Enerji örneğine yüklemek için şu adımları tamamlayın: Yer tutucuları (<DNS>, <access_token>) uygun değerlerle değiştirin.

1. Şema oluşturma

Şema oluşturmak için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

id yanıtını sonraki adımlarda kullanmak üzere kaydedin.

Yasal etiket oluşturmak için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

3. CSV Dosyasını Yüklemek için İmzalı bir URL Almak

İmzalı bir URL almak için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

Yanıttan SignedURL ve FileSource'yi sonraki adımlarda kullanmak üzere kaydedin.

4. Bir CSV Dosyasını Yükleyin

Wellbore.csv örneğini yerel makinenize indirin. Ardından, dosyayı karşıya yüklemek için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

{
  "status": "Success"
}

5. CSV Dosyası Meta Verilerini Yükleme

CSV dosyasının meta verilerini karşıya yüklemek için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

idBir sonraki adımda kullanmak üzere yanıttan karşıya yüklenen dosyanın kimliği olan öğesini kaydedin.

6. CSV Ayrıştırıcı Alımı İş Akışını Tetikleme

Alma iş akışını tetiklemesi için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

runId yanıtını sonraki adımda kullanmak üzere kaydedin.

7. İş akışının durumunu denetleyin ve tamamlanmasını bekleyin.

İş akışı çalıştırmasının durumunu denetlemek için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

Yanıt başarıyla tamamlanıncaya kadar birkaç saniyede bir denetlemeye devam edin.

8. İçe Aktarılan CSV Kayıtlarını Arama

Alınan kayıtları aramak için aşağıdaki cURL komutu çalıştırın:

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

Örnek Yanıt:

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

Kayıtları arama sonuçlarında görebilmeniz gerekir.

Sonraki adım

Sonraki eğitime geçin.