Usar etiquetas de recursos

En esta página, se muestra cómo agregar, ver, editar y quitar etiquetas en recursos de la API de Cloud Healthcare. Las etiquetas son pares clave-valor que puedes usar para organizar los recursos. Puedes adjuntar una etiqueta a recursos individuales y, luego, filtrarlos según estas. La información sobre las etiquetas se envía al sistema de facturación a fin de que puedas desglosar tus cargos de facturación según las etiquetas.

Puedes usar etiquetas con los siguientes recursos de la API de Cloud Healthcare:

  • Tiendas de FHIR
  • Tiendas de DICOM
  • Almacenes de consentimientos
  • Tiendas de HL7v2
  • Mensajes de HL7v2

Las etiquetas están disponibles mediante el uso de las API de REST o RPC. Las etiquetas no están disponibles en Google Cloud CLI ni en la consola de Google Cloud.

Requisitos de las etiquetas

Las etiquetas que se aplican a un recurso deben cumplir los siguientes requisitos:

  • Cada recurso puede tener varias etiquetas, hasta 64.
  • Cada etiqueta debe ser un par clave-valor.
  • La longitud de las claves debe ser de entre 1 y 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y su longitud máxima es de 63 caracteres.
  • Las claves y los valores pueden contener solo letras en minúscula, números, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y, también, se permiten los caracteres internacionales.
  • La clave de una etiqueta debe ser única en un solo recurso, pero puedes usar la misma clave en varios recursos.
  • Las claves deben comenzar con una letra en minúscula o un carácter internacional.

Agregar una etiqueta

En la siguiente muestra, se demuestra cómo agregar una etiqueta a una tienda de FHIR existente.

Por ejemplo, puedes usar la etiqueta para indicar que la tienda de FHIR se está usando como entorno de pruebas. La clave para la etiqueta sería environment y el valor sería test.

curl

Para agregar una etiqueta a una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

PowerShell

Para agregar una etiqueta a una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Agrega varias etiquetas

En el siguiente ejemplo, se muestra cómo agregar varias etiquetas a una tienda de FHIR existente. Para agregar varias etiquetas, separa cada una con una coma.

Por ejemplo, puedes usar las etiquetas a fin de indicar que la tienda de FHIR se está usando como entorno de pruebas y que se usa para un equipo de investigación.

La clave para la primera etiqueta sería environment y el valor sería test. La clave para la segunda etiqueta sería team y el valor sería research.

curl

Para agregar varias etiquetas a una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar como una lista delimitada por comas de pares clave-valor
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

PowerShell

Para agregar una etiqueta a una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar como una lista delimitada por comas de pares clave-valor
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Enumera y filtra por etiquetas

Después de agregar una etiqueta a un recurso de la API de Cloud Healthcare, puedes enumerar los recursos y filtrarlos por sus etiquetas. Por ejemplo, después de agregar una etiqueta a una tienda de FHIR en las muestras anteriores, puedes enumerar las tiendas de FHIR en tu conjunto de datos y filtrar por las etiquetas que agregaste.

Los mensajes de HL7v2 tienen opciones de filtrado adicionales que puedes ver en projects.locations.datasets.hl7V2Stores.messages.list.

curl

Para ver las tiendas de FHIR en un conjunto de datos y filtrarlos por una etiqueta, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Una cadena de consulta que contenga la información que deseas filtrar
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET mediante 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

PowerShell

Para ver las tiendas de FHIR en un conjunto de datos y filtrarlos por una etiqueta, realiza una solicitud GET y proporciona la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Una cadena de consulta que contenga la información que deseas filtrar
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud GET mediante 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

Quita una etiqueta

Puedes quitar una etiqueta de dos maneras:

  • Para quitar la etiqueta por completo, lo que significa que se quitarán la clave y el valor, sigue estos pasos para usar el patrón de lectura, modificación y escritura:

    1. Para leer las etiquetas actuales, llama al método get() del recurso.
    2. Edita las etiquetas que se muestran, ya sea mediante un editor de texto o de manera programática, para agregar o quitar las claves aplicables y sus valores.
    3. Para escribir las etiquetas actualizadas, llama al método patch() del recurso.
  • Para mantener la clave y quitar el valor, configura el valor como null.

curl

En la siguiente muestra, se demuestra cómo quitar una etiqueta mediante la configuración del valor de la etiqueta como null.

Para quitar una etiqueta de una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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"

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

PowerShell

En la siguiente muestra, se demuestra cómo quitar una etiqueta mediante la configuración del valor de la etiqueta como null.

Para quitar una etiqueta de una tienda de FHIR existente, realiza una solicitud PATCH y especifica la siguiente información:

  • El nombre del conjunto de datos superior
  • El nombre de la tienda de FHIR
  • Los datos de la etiqueta que deseas actualizar
  • Una máscara de actualización configurada como labels
  • Un token de acceso

En el siguiente ejemplo, se muestra una solicitud PATCH mediante 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

Si la solicitud tiene éxito, se mostrará la respuesta en formato JSON en el servidor:

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

¿Qué sigue?

Lee acerca otros usos de las etiquetas con la API de Cloud Resource Manager.