Como usar rótulos de recursos

Nesta página, mostramos como adicionar, visualizar, editar e remover rótulos dos recursos da API Cloud Healthcare. Os rótulos são pares de chave-valor que você pode usar para organizar recursos. Você pode anexar um rótulo a recursos individuais e filtrar os recursos com base nos rótulos deles. As informações sobre os rótulos são encaminhadas ao sistema de faturamento para que você possa classificar as cobranças de faturamento por rótulo.

É possível usar rótulos com os seguintes recursos da API Cloud Healthcare:

  • Armazenamentos FHIR
  • Armazenamentos DICOM
  • Armazenamentos de consentimento
  • Armazenamentos HL7v2
  • Mensagens HL7v2

Os rótulos estão disponíveis por meio das APIs REST ou RPC. Os rótulos não estão disponíveis na ferramenta de linha de comando gcloud ou no Console do Google Cloud.

Requisitos de rótulo

Os rótulos aplicados a um recurso precisam atender aos seguintes requisitos:

  • Cada recurso pode ter vários rótulos, até um máximo de 64.
  • Cada rótulo precisa ser um par de chave-valor.
  • As chaves têm comprimento mínimo de 1 e máximo de 63 caracteres. Além disso, elas não podem estar vazias. Os valores podem estar vazios e ter um comprimento máximo de 63 caracteres.
  • As chaves e valores contêm apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Todos os caracteres precisam usar a codificação UTF-8, e os caracteres internacionais são permitidos.
  • A chave de um rótulo precisa ser exclusiva em um único recurso, mas você pode usar a mesma chave com vários recursos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.

Como adicionar um marcador

O exemplo a seguir mostra como adicionar um rótulo a um armazenamento FHIR existente.

Por exemplo, você pode usar o rótulo para indicar que o armazenamento FHIR está sendo usado como um ambiente de teste. A chave do rótulo será environment e o valor será test.

curl

Para adicionar um rótulo a um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando curl.

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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY": "VALUE"
  }
}

PowerShell

Para adicionar um rótulo a um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando o Windows PowerShell.

$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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY": "VALUE"
  }
}

Como adicionar vários rótulos

O exemplo a seguir mostra como adicionar vários rótulos a um armazenamento FHIR existente. Para adicionar vários rótulos, separe-os com uma vírgula.

Por exemplo, você pode usar os rótulos para indicar que o armazenamento FHIR está sendo usado como um ambiente de teste e que é usado por uma equipe de pesquisa.

A chave do primeiro rótulo será environment e o valor será test. A chave do segundo rótulo será team e o valor será research.

curl

Para adicionar vários rótulos a um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados como uma lista delimitada por vírgulas de pares de chave-valor
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando curl.

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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY_1": "VALUE_1",
    "KEY_2": "VALUE_2"
  }
}

PowerShell

Para adicionar um rótulo a um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados como uma lista delimitada por vírgulas de pares de chave-valor
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando o Windows PowerShell.

$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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY_1": "VALUE_1",
    "KEY_2": "VALUE_2"
  }
}

Como listar e filtrar por rótulos

Depois de adicionar um rótulo a um recurso da API Cloud Healthcare, você poderá listar recursos e filtrá-los por seus rótulos. Por exemplo, depois de adicionar um rótulo a um armazenamento FHIR nas amostras anteriores, você poderá listar os armazenamentos FHIR no conjunto de dados e filtrar pelos rótulos adicionados.

As mensagens HL7v2 têm opções de filtragem adicionais que você pode ver em projects.locations.datasets.hl7V2Stores.messages.list.

curl

Para ver os armazenamentos FHIR em um conjunto de dados e filtrá-los por um rótulo, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Uma string de consulta contendo as informações a serem filtradas
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando curl.

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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "fhirStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "labels": {
        "KEY": "VALUE"
      }
    },
    {
      ...
    }
  ]
}

PowerShell

Para ver os armazenamentos FHIR em um conjunto de dados e filtrá-los por um rótulo, faça uma solicitação GET e forneça as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Uma string de consulta contendo as informações a serem filtradas
  • Um token de acesso

O exemplo a seguir mostra uma solicitação GET usando o Windows PowerShell.

$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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "fhirStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "labels": {
        "KEY": "VALUE"
      }
    },
    {
      ...
    }
  ]
}

Remover um marcador

É possível remover um rótulo de duas maneiras:

  • Para remover completamente o rótulo, o que significa que tanto a chave quanto o valor serão removidos, use o padrão de leitura-modificação-gravação seguindo estas etapas:

    1. Leia os rótulos atuais chamando o método get() do recurso.
    2. Edite os rótulos retornados, usando um editor de texto ou programaticamente, para adicionar ou remover as chaves aplicáveis e seus valores.
    3. Grave os rótulos atualizados chamando o método patch() do recurso.
  • Para manter a chave e remover o valor, defina o valor como null.

curl

O exemplo a seguir mostra como remover um rótulo definindo o valor dele como null.

Para remover um rótulo de um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando curl.

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"

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY":
  }
}

PowerShell

O exemplo a seguir mostra como remover um rótulo definindo o valor dele como null.

Para remover um rótulo de um armazenamento FHIR existente, faça uma solicitação PATCH e especifique as seguintes informações:

  • O nome do conjunto de dados pai
  • O nome do armazenamento FHIR
  • Os dados do rótulo a serem atualizados
  • Uma máscara de atualização definida como labels
  • Um token de acesso

O exemplo a seguir mostra uma solicitação PATCH usando o Windows PowerShell.

$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

Se a solicitação for bem-sucedida, o servidor retornará a resposta no formato JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY":
  }
}

A seguir

Leia sobre outros usos dos rótulos com a API Resource Manager.