Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à lire des données à partir des API REST Reservoir DDMS avec des commandes curl.
Important
Dans la version actuelle, seules les API de lecture Reservoir DDMS sont prises en charge.
Prérequis
- Créez une ressource Azure Data Manager for Energy. Consultez Guide pratique pour créer une ressource Azure Data Manager for Energy.
- Générez le jeton d’accès du principal de service pour appeler les API Reservoir DDMS. Consultez l’article Comment générer un jeton d’authentification.
Utiliser les API Reservoir DDMS pour lire les données de réservoir
Pour vérifier l’intégrité du client, exécutez la commande curl suivante dans 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>'
Exemple de réponse :
{ "groupId": "org.opengroup.osdu", "artifactId": "@osdu/open-etp-client", "version": "1.2.0", "commitId": "unknown", "commitTime": "unknown" }
Exécutez la commande curl suivante pour lister tous les espaces de données.
curl --request GET \ --url https://<adme_url>/api/reservoir-ddms/v2/dataspaces \ --header 'Authorization: Bearer <access-token>' \ --header 'data-partition-id: <data-partition-id>'
Exemple de réponse
[ { "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" } } ]
Exécutez la commande curl suivante pour obtenir le résumé du contenu d’un espace de données.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/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'
Exemple de réponse
[ { "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 } ]
Exécutez la commande curl suivante pour obtenir tous les détails des ressources d’un espace de données.
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>'
Exemple de réponse
[ { "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" } } ]
Exécutez la commande curl suivante pour obtenir toutes les ressources d’un espace de données filtrées sur le type d’objet.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/volve
. Vous souhaitez obtenir toutes les ressources de typeGrid2dRepresentation
.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'
Exemple de réponse
[ { "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" } } ]
Exécutez la commande curl suivante pour obtenir des détails tels que les métadonnées d’une représentation en fonction du GUID du type d’objet de données.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/volve
. Vous souhaitez obtenir les détails du type d’objetGrid2dRepresentation
avec le GUID d’objet de données07cb9ebb-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'
Exemple de réponse
[ { "$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" ] } } } ]
Exécutez la commande curl suivante pour obtenir la description de tous les tableaux d’un GUID d’objet de données pour un type d’objet de données spécifique.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/Volve
. Vous souhaitez obtenir les tableaux du type d’objetGrid2dRepresentation
avec le GUID d’objet de données07cb9ebb-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'
Exemple de réponse
[ { "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": {} } ]
Exécutez la commande curl suivante pour obtenir le tableau au format json d’un chemin d’accès spécifique dans la ressource.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/Volve
. Vous souhaitez obtenir le tableau avec le chemin d’accès dans la ressource au formatRESQML/07cb9ebb-299f-469b-9792-e76633a72b89/points_patch0
de type d’objetGrid2dRepresentation
avec le GUID d’objet de données07cb9ebb-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'
Exemple de réponse
{ "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 ] } }
Exécutez la commande curl suivante pour obtenir tous les objets sources d’un GUID de type d’objet spécifique.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/Volve
. Vous souhaitez obtenir tous les autres objets que référence un objet spécifique avec le 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'
Exemple de réponse
[ { "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" } } ]
Exécutez la commande curl suivante pour obtenir les objets cibles d’un GUID de type d’objet spécifique.
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>'
Exemple de demande
Imaginez une ressource Azure Data Manager for Energy nommée
admetest
avec une partition de données nomméedp1
, et le nom de l’espace de données estdemo/Volve
. Vous souhaitez obtenir tous les autres objets qui référencent un objet spécifique avec le 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'
Exemple de réponse
[ { "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" } } ]
Contenu connexe
Tutoriel : Utiliser des points de terminaison d’API websocket Reservoir DDMS