教學課程:使用 Petrel DDMS API 處理 Petrel 資料記錄
在 Postman 中使用 Petrel Domain Data Management Services (DDMS) API,在 Azure Data Manager for Energy 執行個體中處理 Petrel 資料。
在本教學課程中,您會了解如何:
- 設定 Postman 以使用 Petrel DDMS 集合。
- 設定 Postman 以使用 Petrel DDMS 環境。
- 透過 Postman 傳送要求。
- 產生授權權杖。
- 使用 Petrel DDMS API 處理 Petrel 資料記錄和專案。
如需 DDMS 的詳細資訊,請參閱 DDMS 概念。
必要條件
- Azure 訂閱
- 在您 Azure 訂用帳戶中建立的 Azure Data Manager for Energy 執行個體
取得 Azure Data Manager for Energy 執行個體的詳細資料
第一個步驟是從 Azure 入口網站中的 Azure Data Manager for Energy 執行個體取得下列資訊:
參數 | 值 | 範例 |
---|---|---|
CLIENT_ID |
應用程式 (用戶端) 識別碼 | 3dfxxxxxxxxxxxxxxxxxxxxxx |
CLIENT_SECRET |
用戶端密碼 | _fl****************** |
TENANT_ID |
目錄 (租用戶) 識別碼 | 72fxxxxxxxxxxxx |
SCOPE |
應用程式 (用戶端) 識別碼 | 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 專案總管上傳您的專案。 下列所有 API 呼叫會假設您已將專案上傳至 Petrel 專案總管。
建立法律標籤
為符合資料合規性,請建立會自動新增至 Petrel DDMS 環境的法律標籤。
API: [設定]>[為 PDS 建立法律標籤]
方法: POST
如需詳細資訊,請參閱管理法律標籤。
將使用者新增至權利群組
若要讓使用者有適當的權限可以發出 Petrel DDMS API 呼叫,使用者必須屬於 users.datalake.admins@{data-partition-id}.dataservices.energy
權利群組。 此呼叫會將使用者新增至適當的群組。
在此情況下,在用於驗證的權杖中,使用者是用戶端識別碼或 OID。 例如,如果您使用 8cdxxxxxxxxxxxx
的用戶端識別碼產生權杖,則您必須將 8cdxxxxxxxxxxxx
新增至 users.datalake.admins
群組。
API: [設定]>[將使用者新增至 DATALAKE 管理員]
方法: POST
取得專案
使用專案識別碼傳回 Azure Data Manager for Energy 執行個體中對應的 Petrel 專案記錄。
API: [專案]>[取得專案]
方法: GET
刪除專案
使用專案識別碼刪除 Azure Data Manager for Energy 執行個體中的專案及相關聯的 Petrel 專案記錄資料。
API: [專案]>[刪除專案]
方法: DELETE
取得專案版本
使用專案識別碼和版本識別碼取得 Azure Data Manager for Energy 執行個體中與該專案和版本相關聯的 Petrel 版本記錄。
API: [專案]>[取得專案版本]
方法: GET
取得專案下載 URL
使用專案識別碼取得共用存取簽章 (SAS) URL,以便您從 Azure Data Manager for Energy 執行個體下載對應的專案資料。
API: [專案]>[取得專案下載]
方法: GET
取得專案上傳 URL
使用專案識別碼取得兩個 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 儲存體。
更新專案
使用專案識別碼和 SAS 上傳 URL,將 Azure Data Manager for Energy 中的 Petrel 專案記錄更新為新值。 如有需要,您也可以將資料上傳至專案。
API: [專案]>[上傳專案]
方法: PUT
在專案中搜尋
您可以利用許多欄位搜尋 Petrel 專案。 呼叫會傳回所有相符的專案識別碼。 API 支援:
- 字串欄位的全文檢索搜尋。
- 根據日期、數值或字串欄位的範圍查詢。
- 地理空間搜尋。
API: [專案]>[搜尋專案]
方法: POST
相關內容
如需閱讀其他涉及 Petrel 專案總管和 Petrel 工作流程的教學課程,請利用下列 DELFI 連結: