你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Petrel DDMS API 处理 Petrel 数据记录
使用 Postman 中的 Petrel 域数据管理服务 (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 |
应用程序(客户端)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 生成的令牌,必须使用响应中 Bearer
后的值更新 Collection
变量中的 access_token
。
使用 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 管理员”
方法: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 获取共享访问签名 (SAS) URL,以便下载 Azure Data Manager for Energy 实例中相应项目的数据。
API:“项目”>“获取项目下载”
方法:GET
获取项目上传 URL
使用项目 ID 获取两个 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 工作流的其他教程: