本頁說明如何新增、查看、編輯及移除 Cloud Healthcare API 資源的標籤。標籤是鍵/值組合,可用於整理資源。您可以為個別資源加上標籤,並根據標籤來篩選資源。標籤的相關資訊會轉送至帳單系統,因此您可以依據標籤查看帳單費用明細。
您可以將標籤與下列 Cloud Healthcare API 資源搭配使用:
- FHIR 儲存庫
- DICOM 儲存庫
- 同意聲明儲存庫
- HL7v2 儲存庫
- HL7v2 訊息
您可以使用 REST 或 RPC API 存取標籤。Google Cloud CLI 或 Google Cloud 控制台不提供標籤。
標籤規定
套用於資源的標籤必須符合下列需求條件:
- 每項資源可以有多個標籤,上限為 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 使用標籤。