Cette page explique comment configurer des magasins et des enregistrements d'annotations lors de l'anonymisation des données FHIR et DICOM sensibles.
Présentation de l'annotation des données anonymisées
Chaque fois que vous anonymisez des données FHIR ou DICOM sensibles, vous pouvez générer des informations sur les données sensibles qui ont été supprimées d'un magasin d'annotations. Ces informations sont stockées dans un ou plusieurs enregistrements d'annotations dans le magasin d'annotations.
Vous pouvez créer le magasin d'annotations dans un ensemble de données existant ou le créer dans un nouvel ensemble de données lors de l'opération d'anonymisation. Si vous créez le magasin d'annotations dans un ensemble de données existant, un magasin d'annotations du même nom ne peut pas exister dans cet ensemble de données.
Le magasin d'annotations créé doit se trouver dans le même projet que les données sources anonymisées. Par exemple, vous ne pouvez pas à la fois anonymiser des données dans un projet et générer des enregistrements d'annotations dans un magasin d'annotations d'un autre projet.
Pour spécifier un magasin d'annotations et son comportement lors de l'anonymisation, définissez le champ annotationStoreName
dans un objet annotation
de l'objet DeidentifyConfig
.
Vous pouvez éventuellement définir le champ storeQuote
en fonction de votre cas d'utilisation.
Vous trouverez des informations sur la définition du champ storeQuote
dans la section suivante.
Définir le champ storeQuote
Les informations suivantes s'appliquent aux données FHIR et DICOM.
Lorsque le champ storeQuote
dans l'objet annotation
de la requête est défini sur true
, les valeurs originelles de l'anonymisation des données s'affichent dans le champ quote
de l'enregistrement d'annotation. Exemple :
Si un élément
DATE
est anonymisé et questoreQuote
est défini surtrue
, les informations suivantes s'affichent dans l'enregistrement d'annotation:- La valeur de la date (par exemple
1980-12-05
), affichée dans le champquote
- L'infoType
DATE
- L'emplacement de départ et de fin dans lesquels les données ont été trouvées. Ces emplacements utilisent un index basé sur zéro et sont tous deux inclus.
- La valeur de la date (par exemple
Si le champ
storeQuote
est défini surfalse
, la date (1980-12-05
) ne s'affiche pas dans l'enregistrement d'annotation et seules les informations suivantes s'affichent:- L'infoType
DATE
- L'emplacement de départ et de fin dans lesquels les données ont été trouvées. Ces emplacements utilisent un index basé sur zéro et sont tous deux inclus.
- L'infoType
Annotations de données FHIR anonymisées
Cette section s'appuie sur les concepts expliqués dans la section Anonymiser des données FHIR à l'aide de l'API Cloud Healthcare.
Structure des enregistrements d'annotations
L'opération d'anonymisation crée un enregistrement d'annotation pour chaque ressource FHIR anonymisée.
Chaque enregistrement d'annotation contient un objet textAnnotation
qui comporte des informations sur les données anonymisées qui ont été inspectées et transformées.
Pour qu'un champ anonymisé s'affiche dans l'enregistrement d'annotation, l'action INSPECT_AND_TRANSFORM
Action
doit lui avoir été appliquée.
Configurer des annotations de données FHIR anonymisées
Les exemples suivants utilisent l'anonymisation de données FHIR par défaut comme point de départ. Ils montrent comment anonymiser une ressource Patient à l'aide de la méthode FHIR par défaut et comment stocker des informations sur les données anonymisées dans un enregistrement d'annotation d'un nouveau magasin d'annotations. Dans ces exemples, le champ storeQuote
est défini sur true
, ce qui signifie que l'enregistrement d'annotation généré contient les valeurs originelles des données anonymisées.
Le nouveau magasin d'annotations se trouve dans l'ensemble de données créé par l'opération d'anonymisation, mais vous pouvez également le créer dans un ensemble de données existant.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'destinationDataset': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID', 'config': { 'fhir': {}, 'annotation': { 'annotationStoreName': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID', 'storeQuote': 'true' } } }" "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" }
La réponse contient un nom d'opération. Vous pouvez suivre l'état de l'opération à l'aide de la méthode Operation get
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"
Si la requête aboutit, le serveur renvoie la réponse au format JSON.
Une fois le processus d'anonymisation terminé, la réponse contient "done": true
.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset", "createTime": "CREATE_TIME", "endTime": "END_TIME" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary", "successStoreCount": "1", "successResourceCount": "1" } }
Après avoir vérifié la réussite de l'opération d'anonymisation, vous pouvez répertorier les magasins d'annotations de l'ensemble de données et vérifier si le magasin d'annotations a bien été créé au cours de l'opération:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "annotationStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID" }, { ... } ] }
Utilisez la valeur ANNOTATION_STORE_ID pour répertorier les enregistrements du magasin d'annotations:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "annotations": [ "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID", ... ] }
Utilisez la valeur ANNOTATION_RECORD_ID pour afficher l'enregistrement de l'annotation:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID"
Si la requête aboutit, le serveur renvoie la réponse au format JSON.
L'objet textAnnotation
contient des informations sur le texte sensible supprimé par l'opération d'anonymisation. Dans le champ details
, vous pouvez constater que l'opération a recherché l'objet patient.text.div
et trouvé quatre infoTypes, ainsi que leurs valeurs et les emplacements où ils ont été trouvés.
Lorsque vous utilisez l'anonymisation de données FHIR par défaut, les seules données inspectées et transformées sont celles de l'objet patient.text.div
. Toutes les autres données anonymisées sont transformées sans être inspectées, car leur infoType a déjà été déclaré dans la ressource FHIR d'origine.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/ANNOTATION_RECORD_ID", "annotationSource": { "cloudHealthcareSource": { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID" } }, "textAnnotation": { "details": { "patient.text.div": { "findings": [ { "infoType": "PERSON_NAME", "start": "42", "end": "54", "quote": "Smith, Darcy" }, { "infoType": "PERSON_NAME", "start": "42", "end": "47", "quote": "Smith" }, { "infoType": "PERSON_NAME", "start": "49", "end": "54", "quote": "Darcy" }, { "infoType": "DATE", "start": "81", "end": "91", "quote": "1980-12-05" } ] } } } }
gcloud
L'exemple suivant utilise la commande gcloud beta healthcare datasets deidentify
. Le champ storeQuote
est défini sur true
par défaut et ne peut pas être modifié lorsque vous utilisez Google Cloud CLI.
gcloud beta healthcare datasets deidentify SOURCE_DATASET_ID \ --destination-dataset=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID \ --default-fhir-config \ --annotation-store=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID
La ligne de commande affiche l'ID de l'opération et, une fois l'opération terminée, done
:
Request issued for: [SOURCE_DATASET_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...done.
Pour afficher plus de détails sur l'opération, exécutez la commande gcloud beta healthcare operations describe
en fournissant l'identifiant OPERATION_ID spécifié dans la réponse :
gcloud beta healthcare operations describe --dataset=SOURCE_DATASET_ID \ OPERATION_ID
La réponse inclut done: true
:
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata apiMethodName: google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset counter: {COUNTER} createTime: 'CREATE_TIME' endTime: 'END_TIME' logsUrl: CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary
Exécutez la commande suivante pour répertorier les magasins d'annotations dans l'ensemble de données et vérifier que l'opération a créé le magasin d'annotations :
gcloud beta healthcare annotation-stores list --dataset=DESTINATION_DATASET_ID
Si la requête aboutit, le serveur renvoie le nouveau magasin d'annotations :
ID LOCATION ANNOTATION_STORE_ID LOCATION
Il n'est pas possible d'afficher les détails d'une annotation individuelle à l'aide de gcloud CLI. Pour afficher les détails d'une annotation individuelle, suivez les instructions de l'exemple curl
.
Annotations de données DICOM anonymisées
Cette section s'appuie sur les concepts expliqués dans la section Anonymiser des données FHIR à l'aide de l'API Cloud Healthcare.
Structure des enregistrements d'annotations
L'opération d'anonymisation crée deux types d'enregistrements d'annotations pour les données DICOM anonymisées. Ces deux types d'enregistrements d'annotations sont les suivants:
- Enregistrements d'annotations de texte: contiennent des métadonnées, telles que des balises DICOM, provenant des données anonymisées. Chaque enregistrement d'annotation de texte contient un objet
textAnnotation
comportant des informations sur les données anonymisées qui ont été inspectées et transformées. Pour qu'une balise anonymisée apparaisse dans l'enregistrement d'annotation, elle doit avoir été inspectée afin de détecter des données de santé protégées (PHI) en fonction de la configuration fournie dans le champTagFilterProfile
. Par exemple, les exemples de la section Configurer des annotations de données DICOM anonymisées utilisent la configurationDEIDENTIFY_TAG_CONTENTS
. - Enregistrements d'annotations d'images: contiennent l'emplacement des informations sensibles dans des cadres DICOM individuels. Chaque enregistrement d'annotation d'image contient un objet
ImageAnnotation
comportant les coordonnées des informations sensibles trouvées.
L'opération d'anonymisation crée des enregistrements d'annotations pour chaque cadre dans une instance DICOM. Par exemple, si une instance DICOM comporte trois cadres, l'opération d'anonymisation crée les enregistrements d'annotation suivants:
- Un enregistrement d'annotation de texte, contenant
textAnnotation
, pour les balises DICOM de l'instance DICOM. - Trois enregistrements d'annotations d'images, chacun contenant une annotation
imageAnnotation
, pour chacun des trois cadres. Chaque enregistrement d'annotation d'image contient un champframe_index
pour indiquer le cadre auquel l'enregistrement correspond.
Les quatre enregistrements d'annotations ont tous la même valeur cloudHealthcareSource.name
, qui correspond au chemin d'accès à l'instance DICOM au format suivant: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID
.
Configurer des annotations de données DICOM anonymisées
Les exemples suivants montre utilisent une approche permettant de combiner l'anonymisation des balises et le masquage de texte incrusté comme point de départ. Ils montrent comment anonymiser une instance DICOM en masquant le texte incrusté dans une image, et comment inspecter et transformer le texte sensible. Ces exemples montrent également comment stocker des informations sur les données anonymisées dans un enregistrement d'annotation d'un nouveau magasin d'annotations. Dans ces exemples, le champ storeQuote
est défini sur true
, ce qui signifie que l'enregistrement d'annotation généré contient les valeurs originelles des données anonymisées.
Le nouveau magasin d'annotations se trouve dans l'ensemble de données créé par l'opération d'anonymisation, mais vous pouvez également le créer dans un ensemble de données existant.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'destinationDataset': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID', 'config': { 'dicom': { 'filterProfile': 'DEIDENTIFY_TAG_CONTENTS' }, 'image': { 'textRedactionMode': 'REDACT_ALL_TEXT' }, 'annotation': { 'annotationStoreName': 'projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID', 'storeQuote': 'true' } } }" "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID:deidentify"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" }
La réponse contient un nom d'opération. Vous pouvez suivre l'état de l'opération à l'aide de la méthode Operation get
:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"
Si la requête aboutit, le serveur renvoie la réponse au format JSON. Une fois le processus d'anonymisation terminé, la réponse contient "done": true
.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata", "apiMethodName": "google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset", "createTime": "CREATE_TIME", "endTime": "END_TIME" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary", "successStoreCount": "1", "successResourceCount": "1" } }
Après avoir vérifié la réussite de l'opération d'anonymisation, vous pouvez répertorier les magasins d'annotations de l'ensemble de données et vérifier si le magasin d'annotations a bien été créé au cours de l'opération:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "annotationStores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID" }, { ... } ] }
Utilisez la valeur ANNOTATION_STORE_ID pour répertorier les enregistrements du magasin d'annotations:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations"
Si la requête aboutit, le serveur renvoie la réponse au format JSON :
{ "annotations": [ "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID", "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/IMAGE_ANNOTATION_RECORD_ID", ... ] }
Vous pouvez constater que deux enregistrements d'annotation ont été créés: un enregistrement d'annotation de texte et un enregistrement d'annotation d'image.
Tout d'abord, utilisez la valeur TEXT_ANNOTATION_RECORD_ID pour afficher l'enregistrement d'annotation de texte :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID"
Si la requête aboutit, le serveur renvoie la réponse au format JSON.
L'objet textAnnotation
contient des informations sur le texte sensible supprimé lors de l'opération d'anonymisation. Dans le champ details
, vous pouvez constater que l'opération a fourni une liste de tags DICOM. Lorsqu'une balise DICOM est trouvée, ses informations sont fournies dans l'objet findings
, qui indique l'infoType, la valeur de l'infoType et les emplacements où les valeurs ont été trouvées.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/TEXT_ANNOTATION_RECORD_ID", "annotationSource": { "cloudHealthcareSource": { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID" } }, "textAnnotation": { "details": { "00080070": {}, "00080090": { "findings": [ { "infoType": "PERSON_NAME", "end": "8", "quote": "John Doe" } ] }, "00081090": {}, "00100010": { "findings": [ { "infoType": "PERSON_NAME", "end": "11", "quote": "Ann Johnson" } ] }, "00100020": {}, "00100030": { "findings": [ { "infoType": "DATE", "end": "8", "quote": "19880812" } ] }, "00020013": { "findings": [ { "infoType": "LOCATION", "end": "5", "quote": "OFFIS" } ] }, "00080020": { "findings": [ { "infoType": "DATE", "end": "8", "quote": "20110909" } ] } } } }
Utilisez ensuite la valeur IMAGE_ANNOTATION_RECORD_ID pour afficher l'enregistrement d'annotation d'image:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID//annotations/IMAGE_ANNOTATION_RECORD_ID"
Si la requête aboutit, le serveur renvoie la réponse au format JSON.
Dans l'objet imageAnnotation
, il existe plusieurs sommets vertices
, chacun contenant quatre points X/Y qui relient les emplacements où l'opération d'anonymisation a détecté des données d'image sensibles et du texte incrusté.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID/annotations/IMAGE_ANNOTATION_RECORD_ID", "annotationSource": { "cloudHealthcareSource": { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID" } }, "imageAnnotation": { "boundingPolys": [ { "vertices": [ { "x": 439, "y": 919 }, { "x": 495, "y": 919 }, { "x": 495, "y": 970 }, { "x": 439, "y": 970 } ] }, { "vertices": [ { "x": 493, "y": 919 }, { "x": 610, "y": 919 }, { "x": 610, "y": 972 }, { "x": 493, "y": 972 } ] }, { "vertices": [ ... ] }, ... ] } }
gcloud
L'exemple suivant utilise la commande gcloud beta healthcare datasets deidentify
. Le champ storeQuote
est défini sur true
par défaut et ne peut pas être modifié lorsque vous utilisez Google Cloud CLI.
gcloud beta healthcare datasets deidentify SOURCE_DATASET_ID \ --destination-dataset=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID \ --text-redaction-mode=all \ --annotation-store=projects/PROJECT_ID/locations/LOCATION/datasets/DESTINATION_DATASET_ID/annotationStores/ANNOTATION_STORE_ID
La ligne de commande affiche l'ID de l'opération et, une fois l'opération terminée, done
:
Request issued for: [SOURCE_DATASET_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...done.
Pour afficher plus de détails sur l'opération, exécutez la commande gcloud beta healthcare operations describe
en fournissant l'identifiant OPERATION_ID spécifié dans la réponse :
gcloud beta healthcare operations describe --dataset=SOURCE_DATASET_ID \ OPERATION_ID
La réponse inclut done: true
:
done: true metadata: '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata apiMethodName: google.cloud.healthcare.v1beta1.dataset.DatasetService.DeidentifyDataset counter: {COUNTER} createTime: 'CREATE_TIME' endTime: 'END_TIME' logsUrl: CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID response: '@type': type.googleapis.com/google.cloud.healthcare.v1beta1.deidentify.DeidentifySummary
Exécutez la commande suivante pour répertorier les magasins d'annotations dans l'ensemble de données et vérifier que l'opération a créé le magasin d'annotations :
gcloud beta healthcare annotation-stores list --dataset=DESTINATION_DATASET_ID
Si la requête aboutit, le serveur renvoie le nouveau magasin d'annotations :
ID LOCATION ANNOTATION_STORE_ID LOCATION
Il n'est pas possible d'afficher les détails d'une annotation individuelle à l'aide de gcloud CLI. Pour afficher les détails d'une annotation individuelle, suivez les instructions de l'exemple curl
.