你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
逗号分隔值(CSV)分析器引入提供将 CSV 文件引入到 Azure Data Manager for Energy 实例的功能。
本教程中,您将学习如何:
- 使用
cURL
将示例井口数据 CSV 文件引入到 Azure Data Manager for Energy 实例中。- 使用
cURL
搜索在 CSV 引入期间创建的存储元数据记录。
先决条件
- Azure 订阅服务
- 在 Azure 订阅中创建的一个 Azure Data Manager for Energy 实例
- 计算机上安装的 cURL 命令行工具
- 生成服务主体访问令牌以调用 Seismic API。 请参阅如何生成身份验证令牌。
获取 Azure Data Manager for Energy 实例的详细信息
- 在本教程中,需要以下参数:
参数 | 要使用的值 | 示例: | 在何处查找此值 |
---|---|---|---|
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........... |
按照 如何生成身份验证令牌 来创建访问令牌并将其保存。 |
按照 “管理用户指南 ”为运行本教程的用户添加适当的权利。
配置你的环境
请确保在您的系统上安装了 cURL
。 你将使用它进行 API 调用。
使用 cURL
引入井口数据
若要将示例井口数据 CSV 文件引入到 Azure Data Manager for Energy 实例中,请完成以下步骤:将占位符(<DNS>
<access_token>
等)替换为相应的值。
1.创建架构
cURL
运行以下命令以创建架构:
curl -X POST "https://<DNS>/api/schema-service/v1/schema" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"schemaInfo": {
"schemaIdentity": {
"authority": "<data-partition-id>",
"source": "shapeFiletest",
"entityType": "testEntity",
"schemaVersionPatch": 1,
"schemaVersionMinor": 0,
"schemaVersionMajor": 0
},
"status": "DEVELOPMENT"
},
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Wellbore",
"type": "object",
"properties": {
"UWI": {
"type": "string",
"description": "Unique Wellbore Identifier"
}
}
}
}'
示例响应:
{
"id": "schema-12345",
"status": "DEVELOPMENT"
}
将响应中的id
保存以供后续步骤使用。
2. 创建法律标记
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": "Schlumberger",
"personalData": "No Personal Data",
"securityClassification": "Private",
"expirationDate": "2025-12-25"
}
}'
示例响应:
{
"name": "LegalTagName",
"status": "Created"
}
3.获取用于上传 CSV 文件的签名 URL
cURL
运行以下命令以获取已签名的 URL:
curl -X GET "https://<DNS>/api/file/v2/files/uploadURL" \
-H "Authorization: Bearer <access_token>" \
-H "data-partition-id: <data-partition-id>"
示例响应:
{
"SignedURL": "https://storageaccount.blob.core.windows.net/container/file.csv?sv=...",
"FileSource": "file-source-12345"
}
将SignedURL
和FileSource
从响应中保存,以用于后续步骤。
4.上传 CSV 文件
将 Wellbore.csv 示例下载到本地计算机。 接着运行以下 cURL
命令上传该文件:
curl -X PUT -T "Wellbore.csv" "<SignedURL>" -H "x-ms-blob-type: BlockBlob"
示例响应:
{
"status": "Success"
}
5.上传 CSV 文件元数据
cURL
运行以下命令上传 CSV 文件的元数据:
curl -X POST "https://<DNS>/api/file/v2/files/metadata" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"kind": "osdu:wks:dataset--File.Generic:1.0.0",
"acl": {
"viewers": ["data.default.viewers@<data-partition-id>.dataservices.energy"],
"owners": ["data.default.owners@<data-partition-id>.dataservices.energy"]
},
"legal": {
"legaltags": ["<data-partition-id>-LegalTagName"],
"otherRelevantDataCountries": ["US"],
"status": "compliant"
},
"data": {
"DatasetProperties": {
"FileSourceInfo": {
"FileSource": "<FileSource>"
}
}
}
}'
示例响应:
{
"id": "metadata-12345",
"status": "Created"
}
id
从响应中保存上传的文件 ID,以便在下一步中使用。
6.触发 CSV 分析器引入工作流
cURL
运行以下命令以触发引入工作流:
curl -X POST "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"executionContext": {
"id": "<uploadedFileId>",
"dataPartitionId": "<data-partition-id>"
}
}'
示例响应:
{
"runId": "workflow-12345",
"status": "Running"
}
保存响应中的runId
以供下一步使用。
7. 检查工作流的状态并等待其完成。
cURL
运行以下命令以检查工作流运行的状态:
curl -X GET "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun/<runId>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>"
示例响应:
{
"runId": "workflow-12345",
"status": "Completed"
}
请每隔几秒钟检查一次,直到响应指示成功完成。
8.搜索引入的 CSV 记录
请运行以下 cURL
命令来搜索已导入的记录:
curl -X POST "https://<DNS>/api/search/v2/query" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"kind": "osdu:wks:dataset--File.Generic:1.0.0"
}'
示例响应:
{
"results": [
{
"id": "dataset-12345",
"kind": "osdu:wks:dataset--File.Generic:1.0.0",
"status": "Available"
}
]
}
应该能够查看搜索结果中的记录。
后续步骤
转到下一教程: