Utiliser les libellés de ressources

Cette page explique comment ajouter, afficher, modifier et supprimer des libellés sur les ressources de l'API Cloud Healthcare. Les libellés sont des paires clé/valeur que vous pouvez utiliser pour organiser les ressources. Vous pouvez associer un libellé à chaque ressource, puis filtrer les ressources par libellé. Les informations sur les libellés sont transmises au système de facturation afin que vous puissiez consulter le détail des frais apparaissant sur votre facture en fonction des libellés.

Vous pouvez utiliser des libellés avec les ressources de l'API Cloud Healthcare suivantes :

  • Magasins FHIR
  • Magasins DICOM
  • Magasins d'autorisations
  • Magasins HL7v2
  • Messages HL7v2

Les libellés sont disponibles avec les API REST ou RPC. Les libellés ne sont pas disponibles dans Google Cloud CLI ni dans la console Google Cloud.

Exigences liées aux libellés

Les libellés appliqués à une ressource doivent répondre aux exigences suivantes :

  • Chaque ressource peut avoir plusieurs étiquettes, jusqu'à un maximum de 64.
  • Chaque libellé doit correspondre à une paire clé/valeur.
  • Les clés doivent comporter un (1) caractère au minimum et 63 au maximum, et ne peuvent pas être vides. Les valeurs peuvent être vides et comporter 63 caractères au maximum.
  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés.
  • La clé d'un libellé doit être unique dans une seule ressource, mais vous pouvez utiliser la même clé avec plusieurs ressources.
  • Les clés doivent commencer par une lettre minuscule ou un caractère international.

Ajouter un libellé

L'exemple suivant montre comment ajouter un libellé à un datastore FHIR existant.

Par exemple, vous pouvez utiliser un libellé indiquant que le datastore FHIR est utilisé comme environnement de test. La clé du libellé serait environment et la valeur serait test.

curl

Pour ajouter un libellé à un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données du libellé à mettre à jour
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

PowerShell

Pour ajouter un libellé à un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données du libellé à mettre à jour
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

Ajouter plusieurs libellés

L'exemple suivant montre comment ajouter plusieurs libellés à un datastore FHIR existant. Pour ajouter plusieurs libellés, séparez-les par une virgule.

Par exemple, vous pouvez utiliser les libellés pour indiquer que le datastore FHIR est utilisé comme environnement de test et pour une équipe de recherche.

La clé du premier libellé serait environment et la valeur serait test. La clé du deuxième libellé serait team et la valeur serait research.

curl

Pour ajouter plusieurs libellés à un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données de libellé à mettre à jour sous forme de liste de paires clé/valeur séparées par des virgules
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

PowerShell

Pour ajouter un libellé à un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données de libellé à mettre à jour sous forme de liste de paires clé/valeur séparées par des virgules
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

Répertorier et filtrer par libellés

Après avoir ajouté un libellé à une ressource API Cloud Healthcare, vous pouvez répertorier les ressources et les filtrer en fonction de leur libellé. Par exemple, après avoir ajouté un libellé à un datastore FHIR dans les exemples précédents, vous pouvez répertorier les datastores FHIR dans votre ensemble de données et les filtrer selon les libellés que vous avez ajoutés.

Les messages HL7v2 disposent d'options de filtrage supplémentaires que vous pouvez afficher dans projects.locations.datasets.hl7V2Stores.messages.list.

curl

Pour afficher les datastores FHIR dans un ensemble de données et les filtrer par libellés, envoyez une requête GET et fournissez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Une chaîne de requête contenant les informations à filtrer
  • Un jeton d'accès

L'exemple suivant montre une requête GET utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

PowerShell

Pour afficher les datastores FHIR dans un ensemble de données et les filtrer par libellés, envoyez une requête GET et fournissez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Une chaîne de requête contenant les informations à filtrer
  • Un jeton d'accès

L'exemple suivant montre une requête GET utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

Supprimer un libellé

Vous pouvez supprimer un libellé de deux manières :

  • Pour supprimer entièrement le libellé, c'est-à-dire supprimer la clé et la valeur, utilisez le modèle lecture-modification-écriture en procédant comme suit :

    1. Appelez la méthode get() de la ressource pour lire les libellés actuels.
    2. Modifiez les libellés renvoyés, à l'aide d'un éditeur de texte ou de manière automatisée, pour ajouter ou supprimer des clés applicables et leurs valeurs.
    3. Appelez la méthode patch() de la ressource pour écrire les libellés modifiés.
  • Pour conserver la clé et supprimer la valeur, définissez la valeur sur null.

curl

L'exemple suivant montre comment supprimer un libellé en définissant la valeur du libellé sur null.

Pour supprimer un libellé d'un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données du libellé à mettre à jour
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

PowerShell

L'exemple suivant montre comment supprimer un libellé en définissant la valeur du libellé sur null.

Pour supprimer un libellé d'un datastore FHIR existant, envoyez une requête PATCH et spécifiez les informations suivantes :

  • Le nom de l'ensemble de données parent
  • Le nom du datastore FHIR
  • Les données du libellé à mettre à jour
  • Un masque de mise à jour défini sur labels
  • Un jeton d'accès

L'exemple suivant montre une requête PATCH utilisant 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 requête aboutit, le serveur renvoie la réponse au format JSON :

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

Étapes suivantes

Découvrez d'autres utilisations des étiquettes avec l'API Cloud Resource Manager.