자습서: Petrel DDMS API에서 Petrel 데이터 레코드 사용

Postman에서 Petrel DDMS(도메인 데이터 관리 서비스) API를 통해 Azure Data Manager for Energy 인스턴스에서 Petrel 데이터를 사용합니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • Petrel DDMS 컬렉션을 사용하도록 Postman을 설정합니다.
  • Petrel DDMS 환경을 사용하도록 Postman을 설정합니다.
  • Postman을 통해 요청을 보냅니다.
  • 권한 부여 토큰을 생성합니다.
  • Petrel DDMS API를 통해 Petrel 데이터 레코드 및 프로젝트를 사용합니다.

DDMS에 대한 자세한 내용은 DDMS 개념을 참조하세요.

필수 조건

Azure Data Manager for Energy 인스턴스 세부 정보 가져오기

첫 번째 단계는 Azure PortalAzure Data Manager for Energy 인스턴스에서 다음 정보를 가져오는 것입니다.

매개 변수 예제
CLIENT_ID 애플리케이션(클라이언트) ID 3dfxxxxxxxxxxxxxxxxxxxxxx
CLIENT_SECRET 클라이언트 암호 _fl******************
TENANT_ID 디렉터리(테넌트) ID 72fxxxxxxxxxxxx
SCOPE 애플리케이션(클라이언트) ID 3dfxxxxxxxxxxxxxxxxxxxxxxx
HOSTNAME URI <instance>.energy.azure.com
DATA_PARTITION_ID 데이터 파티션 <instance>-<data-partition-name>

이 정보는 자습서의 뒷부분에서 사용합니다.

Postman 설정

  1. Postman 데스크톱 앱을 다운로드하고 설치합니다.

  2. Postman: Petrel DDMS Postman 컬렉션에서 다음 파일을 가져옵니다.

  3. 앞에서 얻은 값을 사용하여 Postman 환경을 만듭니다. 환경은 다음 예제와 비슷합니다.

    Screenshot that shows an example Postman environment.

API에서 사용할 토큰 생성

Petrel DDMS용 Postman 컬렉션에는 Petrel 프로젝트와 상호 작용하는 데 사용할 수 있는 요청이 포함되어 있습니다. 또한 Azure Data Manager for Energy 인스턴스에서 현재 Petrel 프로젝트 및 레코드를 쿼리하기 위한 요청도 포함되어 있습니다.

  1. Postman의 왼쪽 메뉴에서 컬렉션, Petrel DDMS를 차례로 선택합니다. 설정 아래에서 토큰 가져오기를 선택합니다.

  2. 오른쪽 위의 환경 드롭다운 목록에서 Petrel DDMS 환경을 선택합니다.

  3. 요청을 보내려면 보내기를 선택합니다.

이 요청은 액세스 토큰을 생성하고 향후 요청에 대한 권한 부여 방법으로 할당합니다.

또한 전달자 토큰을 생성하기 위해 Postman 또는 터미널에서 cURL 명령을 사용하여 토큰을 생성할 수 있습니다. Azure Data Manager for Energy 인스턴스의 값을 사용합니다.

      curl --location --request POST 'https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token' \
          --header 'Content-Type: application/x-www-form-urlencoded' \
          --data-urlencode 'grant_type=client_credentials' \
          --data-urlencode 'client_id={{CLIENT_ID}}' \
          --data-urlencode 'client_secret={{CLIENT_SECRET}}' \
          --data-urlencode 'scope={{SCOPE}}'  

cURL에서 생성된 이 토큰을 사용하려면 Collection 변수의 access_token을 응답의 Bearer 뒤에 있는 값으로 업데이트해야 합니다.

Petrel DDMS API를 통해 Petrel 프로젝트 사용

다음 Petrel DDMS API에 설명된 Postman 요청을 성공적으로 완료하면 저장된 Petrel 프로젝트와의 성공적인 상호 작용을 나타냅니다. API에서 데이터를 업로드하는 방법을 제공하지만 DELFI Petrel 프로젝트 탐색기를 통해 프로젝트를 업로드하는 것이 좋습니다. 다음 API 호출에서는 모두 Petrel 프로젝트 탐색기에 업로드된 프로젝트가 있다고 가정합니다.

데이터 규정 준수를 위해 Petrel DDMS 환경에 자동으로 추가되는 법적 태그를 만듭니다.

API: 설정>PDS에 대한 법적 태그 만들기

메서드: POST

Screenshot that shows the API that creates a legal tag.

자세한 내용은 법적 태그 관리를 참조하세요.

자격 그룹에 사용자 추가

사용자가 Petrel DDMS API를 호출할 수 있는 적절한 권한을 가지려면 users.datalake.admins@{data-partition-id}.dataservices.energy 자격 그룹의 일부여야 합니다. 이 호출은 사용자를 적절한 그룹에 추가합니다.

이 경우 사용자는 인증에 사용되는 토큰에 있는 클라이언트 ID 또는 OID입니다. 예를 들어 8cdxxxxxxxxxxxx의 클라이언트 ID를 사용하여 토큰을 생성하는 경우 8cdxxxxxxxxxxxxusers.datalake.admins 그룹에 추가해야 합니다.

API: 설정>DATALAKE 관리자에 사용자 추가

메서드: POST

Screenshot that shows the API that adds user to entitlements.

프로젝트 가져오기

프로젝트 ID를 사용하여 Azure Data Manager for Energy 인스턴스에서 해당 Petrel 프로젝트 레코드를 반환합니다.

API: 프로젝트>프로젝트 가져오기

메서드: GET

Screenshot that shows the API that gets a project.

프로젝트 삭제

프로젝트 ID를 사용하여 Azure Data Manager for Energy 인스턴스에서 프로젝트 및 연결된 Petrel 프로젝트 레코드 데이터를 삭제합니다.

API: 프로젝트>프로젝트 삭제

메서드: DELETE

Screenshot that shows the API that deletes a project.

프로젝트 버전 가져오기

프로젝트 ID 및 버전 ID를 사용하여 Azure Data Manager for Energy 인스턴스의 프로젝트 및 버전과 연결된 Petrel 버전 레코드를 가져옵니다.

API: 프로젝트>프로젝트 버전 가져오기

메서드: GET

Screenshot that shows the API that gets a project version.

프로젝트 다운로드 URL 가져오기

프로젝트 ID를 사용하여 SAS(공유 액세스 서명) URL을 가져오면 Azure Data Manager for Energy 인스턴스에서 해당 프로젝트의 데이터를 다운로드할 수 있습니다.

API: 프로젝트>프로젝트 다운로드 가져오기

메서드: GET

Screenshot that shows the API that gets a project download URL.

프로젝트 업로드 URL 가져오기

프로젝트 ID를 사용하여 두 개의 SAS URL을 가져옵니다. 하나의 URL은 Azure Data Manager for Energy 인스턴스의 해당 프로젝트에 데이터를 업로드합니다. 다른 URL은 Azure Data Manager for Energy 인스턴스의 해당 프로젝트에서 데이터를 다운로드합니다.

API: 프로젝트>서명된 업로드 URL 가져오기

메서드: POST

Screenshot that shows the API that gets a project upload URL.

SAS 업로드 URL은 다음 예제와 같이 표시됩니다.

https://{storage-account}.z15.blob.storage.azure.net/projects/{data-partition-id}/{projectID}.staging/{versionID}?{SAS-token-info}

업로드하려는 데이터의 파일 이름을 포함하도록 이 URL을 수정할 수 있습니다.

https://{storage-account}.z15.blob.storage.azure.net/projects/{data-partition-id}/{projectID}.staging/{versionID}/{FILENAME}?{SAS-token-info}

이 URL에 대한 PUT 호출을 수행하면 body의 콘텐츠가 제공된 FILENAME 값 아래의 Blob 스토리지에 업로드됩니다.

프로젝트 업데이트

프로젝트 ID 및 SAS 업로드 URL을 사용하여 Azure Data Manager for Energy의 Petrel 프로젝트 레코드를 새 값으로 업데이트합니다. 원하는 경우 프로젝트에 데이터를 업로드할 수도 있습니다.

API: 프로젝트>프로젝트 업데이트

메서드: PUT

Screenshot that shows the API that updates a project.

프로젝트를 통해 검색

많은 필드를 사용하여 Petrel 프로젝트를 검색할 수 있습니다. 이 호출은 일치하는 모든 프로젝트 ID를 반환합니다. API는 다음을 지원합니다.

  • 문자열 필드의 전체 텍스트를 검색합니다.
  • 날짜, 숫자 또는 문자열 필드를 기반으로 하는 범위 쿼리입니다.
  • 지리 공간적 검색입니다.

API: 프로젝트>프로젝트 검색

메서드: POST

Screenshot that shows the API that deletes a well record.

다음 DELFI 링크를 사용하여 Petrel 프로젝트 탐색기 및 Petrel 워크플로와 관련된 다른 자습서를 읽어보세요.