이 페이지에서는 Cloud Healthcare API 리소스에서 라벨을 추가, 표시, 수정, 삭제하는 방법을 보여줍니다. 라벨은 리소스 정리를 위해 사용할 수 있는 키-값 쌍입니다. 개별 리소스에 라벨을 추가한 후 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보는 결제 시스템으로 전달되므로 라벨을 기준으로 청구 상세 내역을 확인할 수 있습니다.
다음 Cloud Healthcare API 리소스에 라벨을 사용할 수 있습니다.
- FHIR 저장소
- DICOM 저장소
- 동의 저장소
- HL7v2 저장소
- HL7v2 메시지
라벨은 REST 또는 RPC API를 사용하여 제공됩니다. Google Cloud CLI 또는 Google Cloud Console에서 라벨을 사용할 수 없습니다.
라벨 요구사항
리소스에 적용된 라벨은 다음 요구사항을 충족해야 합니다.
- 각 리소스는 여러 개의 라벨(최대 64개)을 가질 수 있습니다.
- 각 라벨은 키-값 쌍이어야 합니다.
- 키는 비워 둘 수 없으며 최소 길이는 1자이고 최대 길이는 63자입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
- 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다.
- 라벨의 키는 단일 리소스에서 고유해야 하지만 여러 리소스에 동일한 키를 사용할 수 있습니다.
- 키는 소문자나 국제 문자로 시작해야 합니다.
라벨 추가
다음 샘플은 기존 FHIR 저장소에 라벨을 추가하는 방법을 보여줍니다.
예를 들어 라벨을 사용하여 FHIR 저장소가 테스트 환경으로 사용됨을 나타낼 수 있습니다. 라벨의 키는 environment
이고 값은 test
입니다.
curl
기존 FHIR 저장소에 라벨을 추가하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 curl
을 사용하는 PATCH
요청을 보여줍니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'labels': { 'KEY' : 'VALUE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": "VALUE" } }
PowerShell
기존 FHIR 저장소에 라벨을 추가하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 PATCH
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'labels': { 'KEY': 'VALUE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": "VALUE" } }
여러 라벨 추가
다음 샘플은 기존 FHIR 저장소에 여러 라벨을 추가하는 방법을 보여줍니다. 라벨을 여러 개 추가하려면 각 라벨을 쉼표로 구분합니다.
예를 들어 라벨을 사용하여 FHIR 저장소가 테스트 환경으로 사용되고 있고 연구팀에 사용되고 있음을 나타낼 수 있습니다.
첫 번째 라벨의 키는 environment
이고 값은 test
입니다.
두 번째 라벨의 키는 team
이고 값은 research
입니다.
curl
기존 FHIR 저장소에 여러 라벨을 추가하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 쉼표로 구분된 키-값 쌍 목록으로 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 curl
을 사용하는 PATCH
요청을 보여줍니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'labels': { 'KEY_1' : 'VALUE_1', 'KEY_2' : 'VALUE_2' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY_1": "VALUE_1", "KEY_2": "VALUE_2" } }
PowerShell
기존 FHIR 저장소에 라벨을 추가하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 쉼표로 구분된 키-값 쌍 목록으로 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 PATCH
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'labels': { 'KEY_1': 'VALUE_1', 'KEY_2': 'VALUE_2' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY_1": "VALUE_1", "KEY_2": "VALUE_2" } }
라벨별 나열 및 필터링
Cloud Healthcare API 리소스에 라벨을 추가하면 리소스를 나열하고 라벨별로 필터링할 수 있습니다. 예를 들어 이전 샘플에서 FHIR 저장소에 라벨을 추가한 후 데이터 세트의 FHIR 저장소를 나열하고 추가한 라벨로 필터링할 수 있습니다.
HL7v2 메시지에는 projects.locations.datasets.hl7V2Stores.messages.list
에서 볼 수 있는 추가 필터링 옵션이 있습니다.
curl
FHIR 저장소를 데이터 세트에서 보고 라벨별로 필터링하려면 GET
요청을 수행하고 다음 정보를 제공합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 필터링할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 curl
을 사용하는 GET
요청을 보여줍니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?filter=labels.KEY=VALUE"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "fhirStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": "VALUE" } }, { ... } ] }
PowerShell
FHIR 저장소를 데이터 세트에서 보고 라벨별로 필터링하려면 GET
요청을 수행하고 다음 정보를 제공합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 필터링할 정보가 포함된 쿼리 문자열
- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 GET
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?filter=labels.KEY=VALUE" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "fhirStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": "VALUE" } }, { ... } ] }
라벨 삭제
다음 두 가지 방법 중 하나로 라벨을 삭제할 수 있습니다.
키와 값을 포함하여 라벨을 완전히 삭제하려면 다음 단계에 따라 읽기-수정-쓰기 패턴을 사용합니다.
- 리소스의
get()
메서드를 호출하여 현재 라벨을 읽습니다. - 텍스트 편집기를 사용하거나 프로그래밍 방식으로 반환된 라벨을 수정하여 적용가능한 키와 값을 추가하거나 삭제합니다.
- 리소스의
patch()
메서드를 호출하여 업데이트된 라벨을 작성합니다.
- 리소스의
키를 유지하고 값을 삭제하려면 값을
null
로 설정합니다.
curl
다음 샘플은 라벨 값을 null
로 설정하여 라벨을 삭제하는 방법을 보여줍니다.
기존 FHIR 저장소에서 라벨을 삭제하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 curl
을 사용하는 PATCH
요청을 보여줍니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'labels': { 'KEY' : null } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": } }
PowerShell
다음 샘플은 라벨 값을 null
로 설정하여 라벨을 삭제하는 방법을 보여줍니다.
기존 FHIR 저장소에서 라벨을 삭제하려면 PATCH
요청을 수행하고 다음 정보를 지정합니다.
- 상위 데이터 세트의 이름
- FHIR 저장소의 이름
- 업데이트할 라벨 데이터
labels
로 설정된 업데이트 마스크- 액세스 토큰
다음 샘플은 Windows PowerShell을 사용한 PATCH
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'labels': { 'KEY': nullresource_manager_api } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content
요청이 성공하면 서버가 JSON 형식으로 응답을 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "labels": { "KEY": } }
다음 단계
Cloud Resource Manager API의 다른 라벨 사용 방법 읽어보기