CSV(쉼표로 구분된 값) 파서 수집은 CSV 파일을 Azure Data Manager for Energy 인스턴스로 수집하는 기능을 제공합니다.
이 튜토리얼에서는 다음을 배우게 됩니다:
cURL을 사용하여 샘플 CSV 파일 형태의 wellbore 데이터를 Azure Data Manager for Energy 인스턴스에 통합합니다.- 를 사용하여
cURLCSV 수집 중에 만든 스토리지 메타데이터 레코드를 검색합니다.
필수 조건
- Azure 구독
- Azure 구독에서 만들어진 Azure Data Manager for Energy 인스턴스
- 컴퓨터에 설치된 cURL 명령줄 도구
- Seismic API를 호출하는 서비스 주체 액세스 토큰을 생성합니다. 인증 토큰 생성 방법을 참조하세요.
에너지용 Azure Data Manager 인스턴스에 대한 세부 정보 가져오기
- 이 자습서에서는 다음 매개 변수가 필요합니다.
| 매개 변수 | 사용할 값 | 예시 | 이 값을 찾을 수 있는 위치 |
|---|---|---|---|
DNS |
URI(유알아이) | <instance>.energy.azure.com |
에너지용 Azure Data Manager 인스턴스의 개요 페이지에서 이 값을 찾습니다. |
data-partition-id |
데이터 파티션 | <data-partition-id> |
에너지용 Azure Data Manager 인스턴스 내의 데이터 파티션 섹션에서 이 값을 찾습니다. |
access_token |
액세스 토큰 값 | 0.ATcA01-XWHdJ0ES-qDevC6r........... |
인증 토큰을 생성하여 액세스 토큰을 만들고 저장하는 방법을 따릅니다. |
사용자 관리 가이드에 따라 이 자습서를 실행하는 사용자에게 적절한 자격을 추가합니다.
환경 설정
cURL 시스템에 설치되어 있는지 확인합니다. 이를 사용하여 API를 호출합니다.
다음을 사용하여 웰보어 데이터를 수집합니다 cURL
샘플 wellbore 데이터 CSV 파일을 Azure 에너지 데이터 관리 인스턴스로 임포트하기 위해서는 다음 단계를 수행하십시오: 자리 표시자(<DNS>, <access_token>등)를 각각 적절한 값으로 대체합니다.
1. 스키마 만들기
다음 cURL 명령을 실행하여 스키마를 만듭니다.
curl -X POST "https://<DNS>/api/schema-service/v1/schema" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"schemaInfo": {
"schemaIdentity": {
"authority": "<data-partition-id>",
"source": "shapeFiletest",
"entityType": "testEntity",
"schemaVersionPatch": 1,
"schemaVersionMinor": 0,
"schemaVersionMajor": 0
},
"status": "DEVELOPMENT"
},
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Wellbore",
"type": "object",
"properties": {
"UWI": {
"type": "string",
"description": "Unique Wellbore Identifier"
}
}
}
}'
샘플 응답:
{
"id": "schema-12345",
"status": "DEVELOPMENT"
}
id 후속 단계에서 사용하기 위해 응답에서 저장합니다.
2. 법적 태그 만들기
다음 cURL 명령을 실행하여 법적 태그를 만듭니다.
curl -X POST "https://<DNS>/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": "Schlumberger",
"personalData": "No Personal Data",
"securityClassification": "Private",
"expirationDate": "2025-12-25"
}
}'
샘플 응답:
{
"name": "LegalTagName",
"status": "Created"
}
3. CSV 파일 업로드를 위한 서명된 URL 가져오기
다음 cURL 명령을 실행하여 서명된 URL을 가져옵니다.
curl -X GET "https://<DNS>/api/file/v2/files/uploadURL" \
-H "Authorization: Bearer <access_token>" \
-H "data-partition-id: <data-partition-id>"
샘플 응답:
{
"SignedURL": "https://storageaccount.blob.core.windows.net/container/file.csv?sv=...",
"FileSource": "file-source-12345"
}
SignedURL 및 FileSource 응답에서 저장하여 다음 단계에서 사용하세요.
4. CSV 파일 업로드
로컬 컴퓨터에 Wellbore.csv 샘플을 다운로드합니다. 그런 다음, 다음 cURL 명령을 실행하여 파일을 업로드합니다.
curl -X PUT -T "Wellbore.csv" "<SignedURL>" -H "x-ms-blob-type: BlockBlob"
샘플 응답:
{
"status": "Success"
}
5. CSV 파일 메타데이터 업로드
다음 cURL 명령을 실행하여 CSV 파일에 대한 메타데이터를 업로드합니다.
curl -X POST "https://<DNS>/api/file/v2/files/metadata" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"kind": "osdu:wks:dataset--File.Generic:1.0.0",
"acl": {
"viewers": ["data.default.viewers@<data-partition-id>.dataservices.energy"],
"owners": ["data.default.owners@<data-partition-id>.dataservices.energy"]
},
"legal": {
"legaltags": ["<data-partition-id>-LegalTagName"],
"otherRelevantDataCountries": ["US"],
"status": "compliant"
},
"data": {
"DatasetProperties": {
"FileSourceInfo": {
"FileSource": "<FileSource>"
}
}
}
}'
샘플 응답:
{
"id": "metadata-12345",
"status": "Created"
}
응답에서 다음 단계에서 사용할 업로드된 파일의 ID인 id를 저장합니다.
6. CSV 파서 수집 워크플로 트리거
다음 cURL 명령을 실행하여 수집 워크플로를 트리거합니다.
curl -X POST "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"executionContext": {
"id": "<uploadedFileId>",
"dataPartitionId": "<data-partition-id>"
}
}'
샘플 응답:
{
"runId": "workflow-12345",
"status": "Running"
}
응답에서 runId을 다음 단계에서 사용하기 위해 저장합니다.
7. 워크플로의 상태를 확인하고 완료될 때까지 기다립니다.
다음 cURL 명령을 실행하여 워크플로 실행의 상태를 확인합니다.
curl -X GET "https://<DNS>/api/workflow/v1/workflow/csv-parser/workflowRun/<runId>" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>"
샘플 응답:
{
"runId": "workflow-12345",
"status": "Completed"
}
응답이 성공적으로 완료되었음을 표시할 때까지 몇 초마다 계속 확인합니다.
8. 처리된 CSV 레코드 검색
다음 cURL 명령을 실행하여 수집된 레코드를 검색합니다.
curl -X POST "https://<DNS>/api/search/v2/query" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-H "data-partition-id: <data-partition-id>" \
-d '{
"kind": "osdu:wks:dataset--File.Generic:1.0.0"
}'
샘플 응답:
{
"results": [
{
"id": "dataset-12345",
"kind": "osdu:wks:dataset--File.Generic:1.0.0",
"status": "Available"
}
]
}
검색 결과에서 레코드를 볼 수 있어야 합니다.
다음 단계
다음 자습서로 넘어가세요.