Tutorial: Uso de puntos de conexión de API de Reservoir DDMS
En este artículo, aprenderá a leer datos de las API REST de Reservoir DDMS con comandos de curl.
Importante
En la versión actual, solo se admiten las API de lectura de Reservoir DDMS.
Requisitos previos
- Cree un recurso de Azure Data Manager for Energy. Vea Procedimiento para crear recursos de Azure Data Manager for Energy.
- Genere el token de acceso de la entidad de servicio necesario para llamar a las API de DDMS. Consulte Cómo generar el token de autenticación.
Uso de las API de Reservoir DDMS para leer datos de depósito
Para comprobar el estado del cliente, ejecute el siguiente comando de curl en Azure Cloud Shell.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/health/info \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Ejemplo de respuesta:
{ "groupId": "org.opengroup.osdu", "artifactId": "@osdu/open-etp-client", "version": "1.2.0", "commitId": "unknown", "commitTime": "unknown" }
Ejecute el siguiente comando de curl para enumerar todos los espacios de datos.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Respuesta de ejemplo
[ { "uri": "eml:///dataspace('demo/Volve')", "path": "demo/Volve", "storeLastWrite": "2025-02-04T13:34:18.901Z", "storeCreated": "2025-02-04T13:34:18.901Z", "customData": { "read-only": "false", "size": "232 kB" } } ]
Ejecute el siguiente comando de curl para obtener el resumen del contenido en un espacio de datos.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace_name>/resources \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/Volve
curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources \ --header 'Authorization: Bearer ey......' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "name": "eml20.obj_EpcExternalPartReference", "count": 1 }, { "name": "resqml20.obj_ContinuousProperty", "count": 10 }, { "name": "resqml20.obj_GeneticBoundaryFeature", "count": 7 }, { "name": "resqml20.obj_Grid2dRepresentation", "count": 5 }, { "name": "resqml20.obj_HorizonInterpretation", "count": 6 }, { "name": "resqml20.obj_LocalDepth3dCrs", "count": 1 }, { "name": "resqml20.obj_OrganizationFeature", "count": 1 }, { "name": "resqml20.obj_PropertyKind", "count": 6 }, { "name": "resqml20.obj_StratigraphicColumn", "count": 2 }, { "name": "resqml20.obj_StratigraphicColumnRankInterpretation", "count": 2 }, { "name": "resqml20.obj_StratigraphicUnitFeature", "count": 8 }, { "name": "resqml20.obj_StratigraphicUnitInterpretation", "count": 16 }, { "name": "resqml20.obj_SubRepresentation", "count": 21 }, { "name": "resqml20.obj_TriangulatedSetRepresentation", "count": 3 } ]
Ejecute el siguiente comando de curl para obtener todos los detalles de los recursos en un espacio de datos.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace_name>/resources/all \ --header 'Authorization: Bearer bearer' \ --header 'data-partition-id: <data-partition-id>'
Respuesta de ejemplo
[ { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(0ea90494-08f9-48e8-bc28-6cbc70a64626)", "alternateUris": [], "name": "SnS_data_mismatch", "lastChanged": "2019-01-03T17:10:16.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:10:16.000Z", "creator": "ATsoblefack" } }, { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(1615d8d2-2a2d-482c-885e-14225b89e90c)", "alternateUris": [], "name": "Thick", "lastChanged": "2019-01-08T13:42:27.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-08T13:42:26.000Z", "creator": "ATsoblefack" } } ]
Ejecute el siguiente comando de curl para obtener todos los recursos de un espacio de datos filtrados por tipo de objeto.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type> \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/volve
. Quiere obtener todos los recursos de tipoGrid2dRepresentation
.curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation \ --header 'Authorization: Bearer ey........' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_Grid2dRepresentation(07cb9ebb-299f-469b-9792-e76633a72b89)", "alternateUris": [], "name": "ConvHugin_Fm_Base", "lastChanged": "2019-01-03T17:11:21.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:11:20.000Z", "creator": "ATsoblefack" } }, { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_Grid2dRepresentation(8f2c2911-5cdc-4133-ab98-be7a3f94de32)", "alternateUris": [], "name": "Hugin_Fm_Base", "lastChanged": "2019-01-03T17:08:58.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:08:58.000Z", "creator": "ATsoblefack" } } ]
Ejecute el siguiente comando de curl para obtener detalles como los metadatos de una representación basada en el GUID del tipo de objeto de datos.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type>/<data-object-type-guid> \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/volve
. Quiere obtener detalles del tipo de objetoGrid2dRepresentation
con el GUID de objeto de datos07cb9ebb-299f-469b-9792-e76633a72b89
curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation/07cb9ebb-299f-469b-9792-e76633a72b89 \ --header 'Authorization: Bearer ey.....' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "$type": "resqml20.obj_Grid2dRepresentation", "SchemaVersion": "2.0", "Uuid": "07cb9ebb-299f-469b-9792-e76633a72b89", "Citation": { "$type": "eml20.Citation", "Title": "ConvHugin_Fm_Base", "Originator": "ATsoblefack", "Creation": "2019-01-03T17:11:20.000Z", "Format": "Paradigm SKUA-GOCAD 22 Alpha 1 Build:20210830-0200 (id: origin/master|56050|1fb1cf919c2|20210827-1108) for Linux_x64_2.17_gcc91", "Editor": "ATsoblefack", "LastUpdate": "2019-01-03T17:11:21.000Z" }, "ExtraMetadata": [ { "$type": "resqml20.NameValuePair", "Name": "pdgm/dx/resqml/creatorGroup", "Value": "ATsoblefack" } ], "RepresentedInterpretation": { "$type": "eml20.DataObjectReference", "ContentType": "application/x-resqml+xml;version=2.0;type=obj_HorizonInterpretation", "Title": "RP_Markers_Calibration", "UUID": "e33006db-2797-4cdf-a4f2-8207b4688b3a", "UuidAuthority": "pdgm", "_data": { "$type": "resqml20.obj_HorizonInterpretation", "SchemaVersion": "2.0", "Uuid": "e33006db-2797-4cdf-a4f2-8207b4688b3a", "Citation": { "$type": "eml20.Citation", "Title": "RP_Markers_Calibration", "Originator": "dalsaab", "Creation": "2021-09-06T14:20:48.000Z", "Format": "Paradigm SKUA-GOCAD 22 Alpha 1 Build:20210830-0200 (id: origin/master|56050|1fb1cf919c2|20210827-1108) for Linux_x64_2.17_gcc91" }, "ExtraMetadata": [ { "$type": "resqml20.NameValuePair", "Name": "pdgm/dx/resqml/creatorGroup", "Value": "dalsaab" } ], "Domain": "depth", "InterpretedFeature": { "$type": "eml20.DataObjectReference", "ContentType": "application/x-resqml+xml;version=2.0;type=obj_GeneticBoundaryFeature", "Title": "Hugin_Fm_Base", "UUID": "bccee857-efb8-4562-aed7-19e5621526c4", "UuidAuthority": "pdgm", "_data": { "$type": "resqml20.obj_GeneticBoundaryFeature", "SchemaVersion": "2.0", "Uuid": "bccee857-efb8-4562-aed7-19e5621526c4", "Citation": { "$type": "eml20.Citation", "Title": "Hugin_Fm_Base", "Originator": "jmaksoud", "Creation": "2018-11-23T15:01:42.000Z", "Format": "Paradigm SKUA-GOCAD 22 Alpha 1 Build:20210830-0200 (id: origin/master|56050|1fb1cf919c2|20210827-1108) for Linux_x64_2.17_gcc91", "Editor": "dalsaab", "LastUpdate": "2018-11-23T15:58:48.000Z" }, "ExtraMetadata": [ { "$type": "resqml20.NameValuePair", "Name": "pdgm/dx/resqml/creatorGroup", "Value": "jmaksoud" } ], "GeneticBoundaryKind": "horizon" } }, "BoundaryRelation": [ "conformable" ] } } } ]
Ejecute el siguiente comando de curl para obtener la descripción de todas las matrices de un GUID de objeto de datos para un tipo de objeto de datos determinado.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type>/<data-object-type-guid>/arrays \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/Volve
. Quiere obtener matrices del tipo de objetoGrid2dRepresentation
con el GUID de objeto de datos07cb9ebb-299f-469b-9792-e76633a72b89
curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation/07cb9ebb-299f-469b-9792-e76633a72b89/arrays \ --header 'Authorization: Bearer ey........' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "uid": { "uri": "eml:///dataspace('demo/Volve')/eml20.obj_EpcExternalPartReference(53395ada-6f93-4bac-b506-d45997ded2a2)", "pathInResource": "/RESQML/07cb9ebb-299f-469b-9792-e76633a72b89/points_patch0" }, "dimensions": [ 401, 510 ], "arrayType": "Int8Array", "preferredSubarrayDimensions": [], "storeLastWrite": "1970-01-01T00:00:00.000Z", "storeCreated": "1970-01-01T00:00:00.000Z", "customData": {} } ]
Ejecute el siguiente comando de curl para obtener la matriz como código JSON para una ruta de acceso específica en el recurso.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type>/<data-object-type-guid>/arrays/<path-in-resource> \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/Volve
. Quiere obtener una matriz con la ruta de acceso del recurso comoRESQML/07cb9ebb-299f-469b-9792-e76633a72b89/points_patch0
del tipo de objetoGrid2dRepresentation
con el GUID de objeto de datos07cb9ebb-299f-469b-9792-e76633a72b89
.curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation/07cb9ebb-299f-469b-9792-e76633a72b89/arrays/RESQML%2F07cb9ebb-299f-469b-9792-e76633a72b89%2Fpoints_patch0 \ --header 'Authorization: Bearer ey........' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
{ "uid": { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_Grid2dRepresentation(07cb9ebb-299f-469b-9792-e76633a72b89)", "pathInResource": "RESQML/07cb9ebb-299f-469b-9792-e76633a72b89/points_patch0" }, "data": { "data": [ null, 3160.12890625, 3138.87255859375, 3139.27734375, 3139.30908203125, 3138.96533203125, 3138.2734375, 3137.31884765625, 3136.285400390625, 3135.2890625 ], "dimensions": [ 401, 510 ] } }
Ejecute el siguiente comando de curl para obtener todos los objetos de origen de un GUID de tipo de objeto determinado.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type>/<data-object-type-guid>/sources \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/Volve
. Quiere obtener todos los demás objetos a los que hace referencia un objeto determinado con el GUID07cb9ebb-299f-469b-9792-e76633a72b89
.curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation/07cb9ebb-299f-469b-9792-e76633a72b89/sources \ --header 'Authorization: Bearer ey........' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(c88bd325-59ba-4c5b-8b4c-d3b1d98be7c5)", "alternateUris": [], "name": "SnS_data_mismatch", "lastChanged": "2019-01-03T17:11:20.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:11:20.000Z", "creator": "ATsoblefack" } }, { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_SubRepresentation(2756ba3c-ece5-498b-9633-6b7ed279043a)", "alternateUris": [], "name": "SnS_faults_proximity", "lastChanged": "2019-01-03T17:11:20.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:11:20.000Z", "creator": "ATsoblefack" } } ]
Ejecute el siguiente comando de curl para obtener los objetos de destino de un GUID de tipo de objeto determinado.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces/<dataspace-name>/resources/<data-object-type>/<data-object-type-guid>/targets \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Solicitud de ejemplo
Considere la posibilidad de usar un recurso de Azure Data Manager for Energy denominado
admetest
con una partición de datos denominadadp1
y el nombre de espacio de datosdemo/Volve
. Quiere obtener todos los demás objetos a los que hace referencia un objeto determinado con el GUID07cb9ebb-299f-469b-9792-e76633a72b89
.curl --request GET \ --url https://admetest.energy.azure.com/api/reservoir-ddms/v2/dataspaces/demo%2FVolve/resources/resqml20.obj_Grid2dRepresentation/07cb9ebb-299f-469b-9792-e76633a72b89/targets \ --header 'Authorization: Bearer ey........' \ --header 'data-partition-id: dp1'
Respuesta de ejemplo
[ { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_ContinuousProperty(c88bd325-59ba-4c5b-8b4c-d3b1d98be7c5)", "alternateUris": [], "name": "SnS_data_mismatch", "lastChanged": "2019-01-03T17:11:20.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:11:20.000Z", "creator": "ATsoblefack" } }, { "uri": "eml:///dataspace('demo/Volve')/resqml20.obj_SubRepresentation(2756ba3c-ece5-498b-9633-6b7ed279043a)", "alternateUris": [], "name": "SnS_faults_proximity", "lastChanged": "2019-01-03T17:11:20.000Z", "storeLastWrite": "2025-02-05T11:33:11.766Z", "storeCreated": "2025-02-05T11:33:11.766Z", "activeStatus": "Active", "customData": { "created": "2019-01-03T17:11:20.000Z", "creator": "ATsoblefack" } } ]
Contenido relacionado
Tutorial: Uso de puntos de conexión de la API de websocket de Reservoir DDMS