Skip to content

Commit 0685d03

Browse files
authored
Merge pull request #296447 from aksjosh007/postman_in_seismic_ddms
PR to remove Postman in Sesimic DDMS ADME article
2 parents b3e255d + e0bd879 commit 0685d03

File tree

7 files changed

+199
-50
lines changed

7 files changed

+199
-50
lines changed

articles/energy-data-services/tutorial-seismic-ddms.md

Lines changed: 199 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,77 +2,101 @@
22
title: "Tutorial: Work with seismic data by using Seismic DDMS APIs"
33
titleSuffix: Microsoft Azure Data Manager for Energy
44
description: This tutorial shows sample steps for interacting with the Seismic DDMS APIs in Azure Data Manager for Energy.
5-
author: elizabethhalper
6-
ms.author: elhalper
5+
author: akshatjoshi
6+
ms.author: akshatjoshi
77
ms.service: azure-data-manager-energy
88
ms.topic: tutorial
9-
ms.date: 3/16/2022
9+
ms.date: 3/10/2025
1010
ms.custom: template-tutorial
1111

1212
#Customer intent: As a developer, I want to learn how to use the Seismic DDMS APIs so that I can store and retrieve similar kinds of data.
1313
---
1414

1515
# Tutorial: Work with seismic data by using Seismic DDMS APIs
1616

17-
Use Seismic Domain Data Management Services (DDMS) APIs in Postman to work with seismic data in an Azure Data Manager for Energy instance.
17+
This tutorial demonstrates how to utilize Seismic Domain Data Management Services (DDMS) APIs with cURL to manage seismic data within an Azure Data Manager for Energy instance.
1818

1919
In this tutorial, you learn how to:
2020

2121
> [!div class="checklist"]
2222
>
2323
> * Register a data partition for seismic data.
24-
> * Use Seismic DDMS APIs to store and retrieve seismic data.
24+
> * Utilize Seismic DDMS APIs to store and retrieve seismic data.
2525
2626
For more information about DDMS, see [DDMS concepts](concepts-ddms.md).
2727

2828
## Prerequisites
29-
3029
* An Azure subscription
3130
* An instance of [Azure Data Manager for Energy](quickstart-create-microsoft-energy-data-services-instance.md) created in your Azure subscription
31+
* cURL command-line tool installed on your machine
32+
* Generate the service principal access token to call the Seismic APIs. See [How to generate auth token](how-to-generate-auth-token.md).
3233

3334
## Get your Azure Data Manager for Energy instance details
3435

35-
The first step is to get the following information from your [Azure Data Manager for Energy instance](quickstart-create-microsoft-energy-data-services-instance.md) in the [Azure portal](https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_Azure_OpenEnergyPlatformHidden):
36-
37-
| Parameter | Value | Example |
38-
| ------------------ | ------------------------ |-------------------------------------- |
39-
| `client_id` | Application (client) ID | `00001111-aaaa-2222-bbbb-3333cccc4444` |
40-
| `client_secret` | Client secrets | `_fl******************` |
41-
| `tenant_id` | Directory (tenant) ID | `72f988bf-86f1-41af-91ab-xxxxxxxxxxxx` |
42-
| `base_url` | URL | `https://<instance>.energy.azure.com` |
43-
| `data-partition-id` | Data partitions | `<data-partition-name>` |
44-
45-
## Set up Postman
46-
47-
1. Download and install the [Postman](https://www.postman.com/downloads/) desktop app.
48-
2. Import the following files into Postman:
49-
50-
* [Seismic DDMS Postman collection](https://raw.githubusercontent.com/microsoft/adme-samples/main/postman/SeismicDDMS.postman_collection.json)
51-
* [Seismic DDMS Postman environment](https://raw.githubusercontent.com/microsoft/adme-samples/main/postman/SeismicDDMSEnvironment.postman_environment.json)
52-
53-
To import the files:
54-
55-
1. Select **Import** in Postman.
56-
57-
:::image type="content" source="media/tutorial-ddms/postman-import-button.png" alt-text="Screenshot that shows the Import button in Postman." lightbox="media/tutorial-ddms/postman-import-button.png":::
36+
To proceed, gather the following details from your [Azure Data Manager for Energy instance](quickstart-create-microsoft-energy-data-services-instance.md) via the [Azure portal](https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_Azure_OpenEnergyPlatformHidden):
5837

59-
1. Paste the URL of each file into the search box.
60-
61-
:::image type="content" source="media/tutorial-ddms/postman-import-search.png" alt-text="Screenshot that shows importing collection and environment files in Postman via URL." lightbox="media/tutorial-ddms/postman-import-search.png":::
62-
63-
3. Update `CURRENT_VALUE` in the Postman environment with the information that you obtained in the Azure Data Manager for Energy instance details.
38+
| Parameter | Description | Example | Where to find this value |
39+
| ------------------ | -------------------------- |-------------------------------------- |-------------------------------------- |
40+
| `client_id` | Application (client) ID | `00001111-aaaa-2222-bbbb-3333cccc4444`| You use this app or client ID when registering the application with the Microsoft identity platform. See [Register an application](../active-directory/develop/quickstart-register-app.md#register-an-application)|
41+
| `client_secret` | Client secret | `_fl******************` |Sometimes called an *application password*, a client secret is a string value that your app can use in place of a certificate to identity itself. See [Add a client secret](../active-directory/develop/quickstart-register-app.md#add-a-client-secret).|
42+
| `tenant_id` | Directory (tenant) ID | `72f988bf-86f1-41af-91ab-xxxxxxxxxxxx`| Hover over your account name in the Azure portal to get the directory or tenant ID. Alternatively, search for and select **Microsoft Entra ID** > **Properties** > **Tenant ID** in the Azure portal. |
43+
| `base_url` | Instance URL | `https://<instance>.energy.azure.com` | Find this value on the overview page of the Azure Data Manager for Energy instance.|
44+
| `data_partition_id`| Data partition name | `opendes` | Find this value on the overview page of the Azure Data Manager for Energy instance.|
45+
| `access_token` | Access token value | `0.ATcA01-XWHdJ0ES-qDevC6r...........`| Follow [How to generate auth token](how-to-generate-auth-token.md) to create an access token and save it.|
6446

6547
## Use Seismic DDMS APIs to store and retrieve seismic data
6648

6749
### Create a legal tag
6850

69-
Create a legal tag that's automatically added to your Seismic DDMS environment for data compliance.
51+
Create a legal tag that is automatically added to the Seismic DDMS environment for data compliance.
7052

7153
API: **Setup** > **Create Legal Tag for SDMS**
7254

73-
Method: `POST`
55+
```bash
56+
curl --request POST \
57+
--url https://{base_url}/api/legal/v1/legaltags \
58+
--header 'Authorization: Bearer {access_token}' \
59+
--header 'Content-Type: application/json' \
60+
--header 'Data-Partition-Id: {data_partition_id}' \
61+
--data '{
62+
"name": "{tag_name}",
63+
"description": "Legal Tag added for Seismic",
64+
"properties": {
65+
"countryOfOrigin": [
66+
"US"
67+
],
68+
"contractId": "No Contract Related",
69+
"expirationDate": "2099-01-01",
70+
"dataType": "Public Domain Data",
71+
"originator": "OSDU",
72+
"securityClassification": "Public",
73+
"exportClassification": "EAR99",
74+
"personalData": "No Personal Data"
75+
}
76+
}'
77+
```
78+
**Sample Response:**
79+
```json
80+
{
81+
"name": "opendes-Seismic-Legal-Tag-Test999588567444",
82+
"description": "Legal Tag added for Seismic",
83+
"properties": {
84+
"countryOfOrigin": [
85+
"US"
86+
],
87+
"contractId": "No Contract Related",
88+
"expirationDate": "2099-01-01",
89+
"originator": "OSDU",
90+
"dataType": "Public Domain Data",
91+
"securityClassification": "Public",
92+
"personalData": "No Personal Data",
93+
"exportClassification": "EAR99"
94+
}
95+
}
96+
```
97+
98+
7499

75-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-create-legal-tag.png" alt-text="Screenshot that shows the API that creates a legal tag." lightbox="media/tutorial-seismic-ddms/postman-api-create-legal-tag.png":::
76100

77101
For more information, see [Manage legal tags](how-to-manage-legal-tags.md).
78102

@@ -82,9 +106,20 @@ Run basic service connection and status tests in your Azure Data Manager for Ene
82106

83107
API: **Service Verification** > **Check Status**
84108

85-
Method: `GET`
109+
```bash
110+
curl --request GET \
111+
--url http://{base_url}/seistore-svc/api/v3/svcstatus \
112+
--header 'Content-Type: application/json' \
113+
--header 'Authorization: Bearer {access_token}' \
114+
--header 'data-partition-id: {data_partition_id}'
115+
```
86116

87-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-check-service-status.png" alt-text="Screenshot that shows the API that checks the service's status." lightbox="media/tutorial-seismic-ddms/postman-api-check-service-status.png":::
117+
**Sample Response:**
118+
```bash
119+
service OK
120+
```
121+
122+
88123

89124
### Tenant
90125

@@ -95,43 +130,157 @@ Create a tenant in your Azure Data Manager for Energy instance.
95130
96131
API: **Tenant** > **Register a seismic-dms tenant**
97132

98-
Method: `POST`
99133

100-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-register-tenant.png" alt-text="Screenshot that shows the API that registers a tenant." lightbox="media/tutorial-seismic-ddms/postman-api-register-tenant.png":::
134+
```bash
135+
curl --request POST \
136+
--url https://{base_url}/seistore-svc/api/v3/tenant/{data_partition_id} \
137+
--header 'Accept: application/json' \
138+
--header 'Authorization: Bearer {access_token}' \
139+
--header 'Content-Type: application/json' \
140+
--data '{
141+
"gcpid": "{data_partition_id}",
142+
"esd": "{data_partition_id}.dataservices.energy",
143+
"default_acl": "[email protected]"
144+
}'
145+
```
146+
**Sample Response:**
147+
```json
148+
{
149+
"name": "opendes",
150+
"esd": "opendes.dataservices.energy",
151+
"gcpid": "opendes",
152+
153+
"Symbol(id)": {
154+
"partitionKey": "tn-opendes",
155+
"name": "opendes"
156+
}
157+
}
158+
```
101159

102160
### Create a subproject
103161

104162
Create a subproject in your Azure Data Manager for Energy instance.
105163

106164
API: **Subproject** > **Create a new subproject**
107165

108-
Method: `POST`
109-
110-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-create-subproject.png" alt-text="Screenshot that shows the API that creates a subproject." lightbox="media/tutorial-seismic-ddms/postman-api-create-subproject.png":::
111-
166+
```bash
167+
curl --request POST \
168+
--url https://{base_url}/seistore-svc/api/v3/subproject/tenant/{data_partition_id}/subproject/{sesimic_subproject} \
169+
--header 'Accept: application/json' \
170+
--header 'Authorization: Bearer {access_token}' \
171+
--header 'Content-Type: application/json' \
172+
--header 'ltag: opendes-Seismic-Legal-Tag-Test999943387766' \
173+
--data '{
174+
"admin": "client_id",
175+
"access_policy": "dataset"
176+
}'
177+
```
178+
179+
**Sample Response:**
180+
```json
181+
{
182+
"name": "test999384006",
183+
"tenant": "opendes",
184+
"ltag": "",
185+
"acls": {
186+
"admins": [
187+
"data.sdms.opendes.test999384006.3a114f91-d79f-489e-b9f0-3a4ac6643924.admin@opendes.dataservices.energy"
188+
],
189+
"viewers": [
190+
"data.sdms.opendes.test999384006.3bbce754-bdfa-4fad-9672-cc9a49231058.viewer@opendes.dataservices.energy"
191+
]
192+
},
193+
"access_policy": "dataset",
194+
"enforce_key": true,
195+
"gcs_bucket": "ss-cloud-lr8faf2xnup9yxd",
196+
"Symbol(id)": {
197+
"partitionKey": "sp-test999384006",
198+
"name": "test999384006"
199+
}
200+
}
201+
```
112202
### Register a dataset
113203

114204
Register a dataset in your Azure Data Manager for Energy instance.
115205

116206
API: **Dataset** > **Register a new dataset**
117207

118-
Method: `POST`
208+
```bash
209+
curl --request POST \
210+
--url https://{base_url}/seistore-svc/api/v3/dataset/tenant/{data_partition_id}/subproject/{seismic_subproject}/dataset/{dataset_name} \
211+
--header 'Accept: application/json' \
212+
--header 'Authorization: Bearer {access_token}' \
213+
--header 'Content-Type: application/json' \
214+
--header 'ltag: {legal_tag}' \
215+
--data '{
216+
"admin": "client_id",
217+
"storage_class": "MULTI_REGIONAL",
218+
"storage_location": "US",
219+
"access_policy": "dataset",
220+
"acls": {
221+
"admins": [
222+
223+
],
224+
"viewers": [
225+
226+
]
227+
}
228+
}'
229+
```
230+
231+
232+
**Sample Response:**
233+
```json
234+
{
235+
"name": "test.sgy",
236+
"tenant": "opendes",
237+
"subproject": "test999384006",
238+
"path": "/",
239+
"ltag": "opendes-Seismic-Legal-Tag-Test999943387766",
240+
"created_by": "faK96PJHh5W-AzMK_dERdxkBBssUYVuqDjzYJcw9Al0",
241+
"last_modified_date": "Mon Mar 17 2025 12:43:38 GMT+0000 (Coordinated Universal Time)",
242+
"created_date": "Mon Mar 17 2025 12:43:38 GMT+0000 (Coordinated Universal Time)",
243+
"acls": {
244+
"admins": [
245+
246+
],
247+
"viewers": [
248+
249+
]
250+
},
251+
"gcsurl": "ss-cloud-sfibby9ril9i755-915f80ed-4804-448a-bfa5-2e70934a97a2",
252+
"ctag": "TQsxLjyufohTOFvfopendes;opendes",
253+
"Symbol(id)": {
254+
"partitionKey": "ds-opendes-test999384006-3fdd95ea0c79eb59dcb2acc48ed1d1eb057a5f94debacffac4d8e88410c5cb2804d9ba68473ea20d2d91d143b64b755e4627ad87e89530ade1cd9614a8a53545",
255+
"name": "test.sgy"
256+
},
257+
"access_policy": "dataset",
258+
"sbit": "WSUmTxkL20jQSlKW",
259+
"sbit_count": 1
260+
}
261+
```
119262

120-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-create-dataset.png" alt-text="Screenshot that shows the API that creates a dataset." lightbox="media/tutorial-seismic-ddms/postman-api-create-dataset.png":::
121263

122264
### Register applications
123265

124266
Register applications in your Azure Data Manager for Energy instance.
125267

126268
API: **Applications** > **Register a new application**
127269

128-
Method: `POST`
129-
130-
:::image type="content" source="media/tutorial-seismic-ddms/postman-api-register-application.png" alt-text="Screenshot that shows the API that registers an application." lightbox="media/tutorial-seismic-ddms/postman-api-register-application.png":::
270+
```bash
271+
curl --request POST \
272+
--url 'https://{base_url}/seistore-svc/api/v3/app?email={email}&sdpath={sdpath}' \
273+
--header 'Authorization: Bearer {access_token}'
274+
```
275+
**Sample Response:**
276+
```bash
277+
Status Code: 200
278+
```
131279

132280
## Next step
133281

134282
As an alternative user experience to Postman, you can use the sdutil command-line Python tool to directly interact with Seismic Store. Use the following tutorial to get started:
135283

136284
> [!div class="nextstepaction"]
137285
> [Use sdutil to load data into Seismic Store](./tutorial-seismic-ddms-sdutil.md)
286+
> For more information on the Seismic REST APIs in Azure Data Manager for Energy, see the OpenAPI specifications available in the [adme-samples](https://microsoft.github.io/adme-samples/) GitHub repository.

0 commit comments

Comments
 (0)