チュートリアル: Petrel DDMS API を使用して Petrel データ レコードを操作する

Petrel Domain データ管理 Services (DDMS) API を使用して、Azure Data Manager for Energy のインスタンスで Petrel データを操作します。

このチュートリアルでは、次の学習を行います。

  • 承認トークンを生成する。
  • Petrel DDMS API を使用して、Petrel データ レコードとプロジェクトを操作します。

DDMS の詳細については、DDMS の概念を参照してください。

Prerequisites

  • Azure サブスクリプション
  • Azure サブスクリプションで作成された Azure Data Manager for Energy のインスタンス。
  • コンピューターにインストールされている cURL コマンド ライン ツール
  • Petrel API を呼び出すサービス プリンシパル アクセス トークン。 認証トークンを生成する方法を参照してください。

Azure Data Manager for Energy インスタンスの詳細を取得する

このチュートリアルでは、次のパラメーターが必要です。

Parameter 使用する値 Example この値を検索する場所
DNS URI <instance>.energy.azure.com この値は、Azure Data Manager for Energy インスタンスの概要ページで確認できます。
data-partition-id データパーティション <data-partition-id> この値は、Azure Data Manager for Energy インスタンス内の [データ パーティション] セクションで見つけます。
access_token アクセス トークンの値 0.ATcA01-XWHdJ0ES-qDevC6r........... 認証 トークンを生成してアクセス トークン を作成して保存する方法に従います。

ユーザーの 管理 ガイドに従って、このチュートリアルを実行しているユーザーに適切な権利を追加します。

環境を設定する

API 呼び出しを行うためにシステムに cURL がインストールされていることを確認します。

Petrel DDMS API を使用して Petrel プロジェクトを操作する

swagger に存在する API 呼び出しが正常に完了すると、保存した Petrel プロジェクトとの対話が成功したことを示します。 API にはデータをアップロードする方法が用意されていますが、DELFI Petrel プロジェクト エクスプローラーを使用してプロジェクトをアップロードすることをお勧めします。 次の API 呼び出しはすべて、プロジェクトが Petrel プロジェクト エクスプローラーにアップロードされていることを前提としています。

データ コンプライアンスに使用できる法的タグを作成します。

次の cURL コマンドを実行して、有効なタグを作成します。

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": "xyz",
               "personalData": "No Personal Data",
               "securityClassification": "Private",
               "expirationDate": "2025-12-25"
           }
       }'

応答の例:

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

詳細については、「 法的タグの管理」を参照してください。

エンタイトルメント グループにユーザーを追加する

ユーザーが Petrel DDMS API 呼び出しを行うための適切なアクセス許可を持つには、 users.datalake.admins@{data-partition-id}.dataservices.energy エンタイトルメント グループの一部である必要があります。 この呼び出しにより、ユーザーが適切なグループに追加されます。

この場合のユーザーは、認証に使用されるトークン内のクライアント ID または OID です。 たとえば、8cdxxxxxxxxxxxxのクライアント ID を使用してトークンを生成する場合は、8cdxxxxxxxxxxxx グループにusers.datalake.adminsを追加する必要があります。 ユーザーの 管理 ガイドに従って、ユーザーに適切な権利を追加します。

プロジェクトを取得する

プロジェクト ID を使用して、Azure Data Manager for Energy インスタンス内の対応する Petrel プロジェクト レコードを返します。

API

プロジェクトを削除する

プロジェクト ID を使用して、Azure Data Manager for Energy インスタンス内のプロジェクトと関連する Petrel プロジェクト レコード データを削除します。

API

プロジェクトのバージョンを取得する

プロジェクト ID とバージョン ID を使用して、Azure Data Manager for Energy インスタンスのプロジェクトとバージョンに関連付けられている Petrel バージョン レコードを取得します。

API

プロジェクトのダウンロード URL を取得する

Azure Data Manager for Energy インスタンスから対応するプロジェクトのデータをダウンロードできるように、プロジェクト ID を使用して Shared Access Signature (SAS) URL を取得します。

API

プロジェクトのアップロード URL を取得する

プロジェクト ID を使用して、2 つの SAS URL を取得します。 1 つの URL で、Azure Data Manager for Energy インスタンス内の対応するプロジェクトにデータがアップロードされます。 もう 1 つの URL は、Azure Data Manager for Energy インスタンス内の対応するプロジェクトからデータをダウンロードします。

API

SAS アップロード URL は、次の例のようになります。

https://{storage-account}.z15.blob.storage.azure.net/projects/{data-partition-id}/{projectID}.staging/{versionID}?{SAS-token-info}

この URL を変更して、アップロードするデータのファイル名を含めることができます。

https://{storage-account}.z15.blob.storage.azure.net/projects/{data-partition-id}/{projectID}.staging/{versionID}/{FILENAME}?{SAS-token-info}

この URL を PUT 呼び出すと、 body の内容が、指定された FILENAME 値の下の BLOB ストレージにアップロードされます。

プロジェクトを更新する

プロジェクト ID と SAS アップロード URL を使用して、Azure Data Manager for Energy の Petrel プロジェクト レコードを新しい値で更新します。 必要に応じて、プロジェクトにデータをアップロードすることもできます。

API

プロジェクトを検索する

多くのフィールドを使用して、Petrel プロジェクトを検索できます。 この呼び出しは、一致するすべてのプロジェクト ID を返します。 Search API では、次の機能がサポートされます。

  • 文字列フィールドのフルテキスト検索。
  • 日付、数値、または文字列フィールドに基づく範囲クエリ。
  • 地理空間検索。

API

次の DELFI リンクを使用して、Petrel プロジェクト エクスプローラーと Petrel ワークフローに関連する他のチュートリアルを読みます。