チュートリアル: 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 サブスクリプション
- Azure サブスクリプションで作成された Azure Data Manager for Energy のインスタンス。
Azure Data Manager for Energy インスタンスの詳細を取得する
最初の手順は、Azure portal で Azure 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 の設定
Postman デスクトップ アプリをダウンロードしてインストールします。
次のファイルを Postman にインポートします: Petrel DDMS Postman コレクション。
先ほど取得した値を使用して Postman 環境を作成します。 環境は次のようなものになるはずです。
API で使用するトークンを生成する
Petrel DDMS の Postman コレクションには、Petrel プロジェクトの操作に使用できる要求が含まれています。 また、Azure Data Manager for Energy インスタンスの現在の Petrel プロジェクトとレコードに対してクエリを実行する要求も含まれています。
Postman の左側のメニューで、[コレクション] を選択した後、[Petrel DDMS] を選択します。 [設定] で、[トークンの取得] を選択します。
右上隅の環境ドロップダウン リストで、[Petrel DDMS 環境] を選択します。
要求を送信するには、[送信] を選択します。
この要求は、アクセス トークンを生成し、それを今後の要求の認可方法として割り当てます。
トークンを生成するには、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
詳細については、法的タグの管理に関する記事を参照してください。
エンタイトルメント グループにユーザーを追加する
ユーザーが Petrel DDMS API 呼び出しを行うための適切なアクセス許可を持つには、ユーザーが users.datalake.admins@{data-partition-id}.dataservices.energy
エンタイトルメント グループの一員である必要があります。 この呼び出しにより、ユーザーが適切なグループに追加されます。
この場合のユーザーとは、認証に使用されるトークンに含まれるクライアント ID または OID です。 たとえば、8cdxxxxxxxxxxxx
のクライアント ID を使用してトークンを生成する場合は、8cdxxxxxxxxxxxx
を users.datalake.admins
グループに追加する必要があります。
API: [設定]>[DATALAKE Admins へのユーザーの追加]
メソッド: POST
プロジェクトを取得する
プロジェクト ID を使用して、Azure Data Manager for Energy インスタンス内の対応する Petrel プロジェクト レコードを返します。
API: "プロジェクト">[プロジェクトの取得]
メソッド: GET
プロジェクトを削除する
プロジェクト ID を使用して、Azure Data Manager for Energy インスタンス内のプロジェクトと関連する Petrel プロジェクト レコード データを削除します。
API: [プロジェクト]>[プロジェクトの削除]
メソッド: DELETE
プロジェクト バージョンを取得する
プロジェクト ID とバージョン ID を使用して、Azure Data Manager for Energy インスタンス内のそのプロジェクトとバージョンに関連付けられている Petrel バージョン レコードを取得します。
API: "プロジェクト">[プロジェクト バージョンの取得]
メソッド: GET
プロジェクト ダウンロード URL を取得する
プロジェクト ID を使用して、Azure Data Manager for Energy インスタンスから対応するプロジェクトのデータをダウンロードするための Shared Access Signature (SAS) URL を取得します。
API: "プロジェクト">[プロジェクト ダウンロードの取得]
メソッド: GET
プロジェクト アップロード URL を取得する
プロジェクト ID を使用して、2 つの SAS URL を取得します。 一方の URL では、Azure Data Manager for Energy インスタンス内の対応するプロジェクトにデータをアップロードします。 もう一方の URL では、Azure Data Manager for Energy インスタンス内の対応するプロジェクトからデータをダウンロードします。
API: "プロジェクト">[署名されたアップロード URL の取得]
メソッド: POST
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
プロジェクトを検索する
多くのフィールドを使用して、Petrel プロジェクトを検索できます。 この呼び出しによって、すべての一致するプロジェクト ID が返されます。 この API は以下をサポートします。
- 文字列フィールド上のフルテキスト検索。
- 日付、数値、または文字列フィールドに基づく範囲クエリ。
- 地理空間検索
API: [プロジェクト]>[プロジェクトの検索]
メソッド: POST
関連するコンテンツ
以下の DELFI リンクを使用して、Petrel Project Explorer と Petrel ワークフローに関連する他のチュートリアルを参照してください。