Руководство. Работа с хорошо записями данных с помощью API-интерфейсов DDMS для доставки

В этом руководстве показано, как использовать API службы управления данными Well Delivery Domain (DDMS) с помощью cURL для управления данными скважины в экземпляре Azure Data Manager for Energy.

В этом руководстве описано следующее:

  • Используйте API-интерфейсы DDMS для хорошой доставки данных.

Дополнительные сведения о DDMS см . в концепциях DDMS.

Prerequisites

Получение сведений об экземпляре Azure Data Manager для энергетики

Чтобы продолжить, соберите следующие сведения из экземпляра Azure Data Manager для энергетики с помощью портала Azure:

Parameter Описание Example Где найти это значение
client_id Идентификатор приложения (клиент) 00001111-aaaa-2222-bbbb-3333cccc4444 Вы используете это приложение и идентификатор клиента при регистрации приложения на платформе идентификации Майкрософт. См . статью "Регистрация приложения"
client_secret Секрет клиента _fl****************** Иногда называется паролем приложения, секрет клиента — это строковое значение, которое приложение может использовать вместо сертификата для идентификации. См. раздел Добавление секрета клиента.
tenant_id Идентификатор каталога (клиента) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx Наведите указатель мыши на имя вашей учетной записи в портале Azure, чтобы получить идентификатор каталога или арендатора. Кроме того, найдите и выберите Microsoft Entra ID>Свойства>Идентификатор клиента в портале Azure.
base_url URL экземпляра https://<instance>.energy.azure.com Найдите это значение на странице обзора экземпляра Azure Data Manager для энергетики.
data_partition_id Имя секции данных opendes Найдите это значение на странице обзора экземпляра Azure Data Manager для энергетики.
access_token Значение токена доступа 0.ATcA01-XWHdJ0ES-qDevC6r........... Следуйте инструкциям по созданию маркера проверки подлинности , чтобы создать маркер доступа и сохранить его.

Использование API-интерфейсов DDMS для хорошой доставки данных

Создайте юридический тег для соответствия данным.

Выполните следующую cURL команду, чтобы создать юридический тег:

curl -X POST "https://{base_url}/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": "xyz",
               "personalData": "No Personal Data",
               "securityClassification": "Private",
               "expirationDate": "2025-12-25"
           }
       }'

Пример ответа:

{
  "name": "LegalTagName",
  "status": "Created"
}

Дополнительные сведения см. в разделе "Управление юридическими тегами".

Добавление пользователей в группу полномочий

Чтобы пользователи имели надлежащие разрешения на вызовы API Well Delivery DDMS, они должны состоять в группах data.default.viewers@{data-partition-id}.dataservices.energy и data.default.owners@<data_partition_id>.dataservices.energy прав доступа. Этот вызов добавляет пользователя в соответствующую группу.

Следуйте руководству по управлению пользователями , чтобы добавить соответствующие права для пользователя.

Создание хорошой записи

Создайте запись в экземпляре Azure Data Manager для энергетики.

curl --request PUT \
  --url https://{base_url}/api/well-delivery/storage/v1/well \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --header 'data-partition-id: <data_partition_id>' \
  --data '{
    "id":"<data_partition_id>:master-data--Well:well-1753861267 434",
    "kind": "osdu:wks:master-data--Well:1.0.0",
    "acl": {
        "viewers": [
            "data.default.viewers@<data_partition_id>.dataservices.energy"
        ],
        "owners": [
            "data.default.owners@<data_partition_id>.dataservices.energy"
        ]
    },
    "legal": {
        "legaltags": [
            "LegalTagName"
        ],
        "otherRelevantDataCountries": [
            "US"
        ]
    },
    "data": {
        "ExistenceKind": "namespace:reference-data--ExistenceKind:planned:",
        "FacilityName": "Well-Test"
    }
}'

Пример ответа:

{
"created entity": "well-1753861267434:1753861269454"
}

Создание записи wellbore

Создайтезаписьную запись в экземпляре Azure Data Manager для энергетики.

curl --request PUT \
  --url https://{base_url}/api/well-delivery/storage/v1/  wellbore \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --header 'data-partition-id: <data_partition_id>' \
  --data '{
    "id": "dp1:master-data--Wellbore:wellbore-1753861298505",
    "kind": "osdu:wks:master-data--Wellbore:1.0.0",
    "acl": {
        "viewers": [
            "data.default.viewers@<data_partition_id>.dataservices.energy"
        ],
        "owners": [
            "data.default.owners@<data_partition_id>.dataservices.energy"
        ]
    },
    "legal": {
        "legaltags": [
            "LegalTagName"
        ],
        "otherRelevantDataCountries": [
            "US"
        ]
    },
    "data": {
        "ExistenceKind": "namespace:reference-data--ExistenceKind:planned:",
        "WellID": "<data_partition_id>:master-data--Well:well-1753861298505:1753861300000",
        "Name": "Demo wellbore name"
    }
}'

Пример ответа:

{
"created entity": "wellbore-1753861298505:1753861301020"
}

Создание плана действий

Создайте план действий.


curl --request PUT \
  --url https://{base_url}/api/well-delivery/storage/v1/activityplan \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --header 'data-partition-id: <data_partition_id>' \
  --data '{
    "id": "dp1:master-data--ActivityPlan:activityplan-1753861290577",
    "kind": "osdu:wks:master-data--ActivityPlan:1.0.0",
    "acl": {
        "viewers": [
            "data.default.viewers@<data_partition_id>.dataservices.energy"
        ],
        "owners": [
            "data.default.owners@<data_partition_id>.dataservices.energy"
        ]
    },
    "legal": {
        "legaltags": [
            "LegalTagName"
        ],
        "otherRelevantDataCountries": [
            "US"
        ]
    },
    "data": {
        "ExistenceKind": "namespace:reference-data--ExistenceKind:planned:",
        "WellboreID": "<data_partition_id>:master-data--Wellbore:wellbore-1753861290577:1753861293139"
    }
}'

Пример ответа:

{
"created entity" : "activityplan-1753861290577:1753861294109"
}

Дальнейшие шаги

Перейдите к следующему руководству, чтобы узнать, как работать с хорошо данными с помощью API Wellbore DDMS:

Для получения дополнительной информации о REST API DDMS Well Delivery в Azure Data Manager для энергетики см. спецификации OpenAPI, доступные в репозитории GitHub adme-samples.