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

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

このチュートリアルでは、次の作業を行う方法について説明します。

  • Petrel DDMS コレクションを使用するように Postman を設定する。
  • Petrel DDMS 環境を使用するように Postman を設定する。
  • Postman 経由で要求を送信する。
  • 承認トークンを生成する。
  • Petrel DDMS API を使用して、Petrel データ レコードおよびプロジェクトを操作します。

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

前提条件

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

最初の手順は、Azure portalAzure Data Manager for Energy インスタンスから次の情報を取得することです。

パラメーター
CLIENT_ID アプリケーション (クライアント) ID 3dfxxxxxxxxxxxxxxxxxxxxxx
CLIENT_SECRET クライアント シークレット _fl******************
TENANT_ID ディレクトリ (テナント) ID 72fxxxxxxxxxxxx
SCOPE アプリケーション (クライアント) ID 3dfxxxxxxxxxxxxxxxxxxxxxxx
HOSTNAME URI <instance>.energy.azure.com
DATA_PARTITION_ID データ パーティション <instance>-<data-partition-name>

この情報は、チュートリアルの後半で使用します。

Postman の設定

  1. Postman デスクトップ アプリをダウンロードしてインストールします。

  2. 次のファイルを Postman にインポートします: Petrel DDMS Postman コレクション

  3. 先ほど取得した値を使用して Postman 環境を作成します。 環境は次のようなものになるはずです。

    Screenshot that shows an example Postman environment.

API で使用するトークンを生成する

Petrel DDMS の Postman コレクションには、Petrel プロジェクトの操作に使用できる要求が含まれています。 また、Azure Data Manager for Energy インスタンスの現在の Petrel プロジェクトとレコードに対してクエリを実行する要求も含まれています。

  1. Postman の左側のメニューで、[コレクション] を選択した後、[Petrel DDMS] を選択します。 [設定] で、[トークンの取得] を選択します。

  2. 右上隅の環境ドロップダウン リストで、[Petrel DDMS 環境] を選択します。

  3. 要求を送信するには、[送信] を選択します。

この要求は、アクセス トークンを生成し、それを今後の要求の認可方法として割り当てます。

トークンを生成するには、Postman またはターミナルで cURL コマンドを使用してベアラー トークンを生成することもできます。 Azure Data Manager for Energy インスタンスの値を使用します。

      curl --location --request POST 'https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --data-urlencode 'grant_type=client_credentials' \
          --data-urlencode 'client_id={{CLIENT_ID}}' \
          --data-urlencode 'client_secret={{CLIENT_SECRET}}' \
          --data-urlencode 'scope={{SCOPE}}'  

この cURL で生成されたトークンを使用するには、Collection 変数内の access_token を応答内の Bearer の後の値で更新する必要があります。

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

以下の Petrel DDMS API で説明されている Postman 要求を正常に実行できれば、保存した Petrel プロジェクトの操作に成功したことになります。 API にはデータをアップロードする方法が用意されていますが、DELFI Petrel Project Explorer を介してプロジェクトをアップロードすることをお勧めします。 以下の API 呼び出しはすべて、プロジェクトが Petrel Project Explorer にアップロードされていることを前提としています。

データ コンプライアンスのために Petrel DDMS 環境に自動的に追加される法的タグを作成します。

API: [設定]>[PDS の法的タグを作成する]

メソッド: POST

Screenshot that shows the API that creates a legal tag.

詳細については、法的タグの管理に関する記事を参照してください。

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

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

この場合のユーザーとは、認証に使用されるトークンに含まれるクライアント ID または OID です。 たとえば、8cdxxxxxxxxxxxx のクライアント ID を使用してトークンを生成する場合は、8cdxxxxxxxxxxxxusers.datalake.admins グループに追加する必要があります。

API: [設定]>[DATALAKE Admins へのユーザーの追加]

メソッド: POST

Screenshot that shows the API that adds user to entitlements.

プロジェクトを取得する

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

API: "プロジェクト">[プロジェクトの取得]

メソッド: GET

Screenshot that shows the API that gets a project.

プロジェクトを削除する

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

API: [プロジェクト]>[プロジェクトの削除]

メソッド: DELETE

Screenshot that shows the API that deletes a project.

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

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

API: "プロジェクト">[プロジェクト バージョンの取得]

メソッド: GET

Screenshot that shows the API that gets a project version.

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

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

API: "プロジェクト">[プロジェクト ダウンロードの取得]

メソッド: GET

Screenshot that shows the API that gets a project download URL.

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

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

API: "プロジェクト">[署名されたアップロード URL の取得]

メソッド: POST

Screenshot that shows the API that gets a project upload URL.

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: [プロジェクト]>[プロジェクトの更新]

メソッド: PUT

Screenshot that shows the API that updates a project.

プロジェクトを検索する

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

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

API: [プロジェクト]>[プロジェクトの検索]

メソッド: POST

Screenshot that shows the API that deletes a well record.

以下の DELFI リンクを使用して、Petrel Project Explorer と Petrel ワークフローに関連する他のチュートリアルを参照してください。