Cette page explique comment exporter des ressources FHIR vers BigQuery à des fins d'exploration et d'analyse. L'opération d'exportation génère un seul BigQuery pour chaque type de ressource FHIR dans le store FHIR.
Pour améliorer les performances des requêtes et réduire les coûts, vous pouvez configurer BigQuery vers des tables partitionnées. Pour instructions, consultez l'article Exporter des ressources FHIR vers des tables partitionnées
Définir des autorisations BigQuery
Avant d'exporter des ressources FHIR vers BigQuery, vous devez accorder des autorisations supplémentaires au compte de service Agent de service Cloud Healthcare. Pour en savoir plus, consultez la section Autorisations BigQuery pour les datastores FHIR.
Exporter des ressources FHIR
Les exemples suivants montrent comment exporter des ressources FHIR vers une table BigQuery.
Lorsque vous définissez la destination BigQuery, utilisez l'URI complet, comme suit :
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
Le comportement de l'opération d'exportation peut varier en fonction des éléments suivants :
- Indique si la table de destination existe déjà.
- Définit si vous définissez le champ
force
. - Indique si vous spécifiez une énumération dans
WriteDisposition
. Si vous spécifiez une énumération, ne définissez pas le champforce
.
Le comportement associé à chacun de ces cas est le suivant :
- Si la table de destination existe déjà et que le champ
force
est défini surtrue
, l'opération d'exportation écrase la table existante. - Si la table de destination existe déjà et que le champ
force
est défini surfalse
, une erreur se produit. - Si la table de destination n'existe pas déjà, l'opération d'exportation crée une table, que vous définissiez ou non le champ
force
. - Lorsque vous utilisez
WriteDisposition
, si la table de destination existe déjà et qu'elle est vide, l'opération d'exportation se termine avec succès au lieu de renvoyer une erreur.
L'opération génère une table BigQuery pour chaque type de ressource dans le datastore FHIR.
Console
Pour exporter des ressources FHIR vers BigQuery à l'aide de la console Google Cloud, procédez comme suit:
Dans la console Google Cloud, accédez à la page Ensembles de données.
Cliquez sur le jeu de données contenant le store FHIR avec les données que vous exportez.
Sur la même ligne que le store FHIR, ouvrez la liste Actions et sélectionnez Export (Exporter).
Sur la page Export FHIR resources (Exporter les ressources FHIR) qui s'affiche, recherchez le Section Sélectionner une destination. Sélectionnez Table BigQuery.
Dans la section Disposition d'écriture pour la table de destination, sélectionnez l'une des options suivantes pour déterminer le comportement de l'opération d'exportation:
- N'exportez les données que si les tables de destination sont vides: cela équivaut à
à la sélection de l'énumération
WRITE_EMPTY
dansWriteDisposition
. - Ajouter des données aux tables de destination: cela équivaut à
à la sélection de l'énumération
WRITE_APPEND
dansWriteDisposition
. - Effacer toutes les données existantes dans les tables de destination avant d'écrire le FHIR
ressources: cela revient à sélectionner l'énumération
WRITE_TRUNCATE
dansWriteDisposition
- N'exportez les données que si les tables de destination sont vides: cela équivaut à
à la sélection de l'énumération
Dans la section Configuration de l'exportation FHIR, cliquez sur Parcourir pour sélectionnez le projet et l'ensemble de données BigQuery.
Dans la liste déroulante Schema type (Type de schéma), sélectionnez le schéma de sortie pour le table BigQuery. Les schémas suivants sont disponibles:
- Données analytiques : Schéma basé sur le document SQL sur FHIR. Étant donné que BigQuery n'accepte que 10 000 colonnes par table, aucun schéma n'est généré pour les champs
Parameters.parameter.resource
,Bundle.entry.resource
etBundle.entry.response.outcome
. - Analytics V2. Un schéma semblable au schéma Analytics, avec une prise en charge supplémentaire des éléments suivants:
- Extensions avec plusieurs valeurs pour le même
url
- Ressources FHIR contenues
- Extensions avec plusieurs valeurs pour le même
- Données analytiques : Schéma basé sur le document SQL sur FHIR. Étant donné que BigQuery n'accepte que 10 000 colonnes par table, aucun schéma n'est généré pour les champs
Sélectionnez un niveau de profondeur dans Recursive Structure Depth (Profondeur de la structure récursive). pour définir la profondeur de toutes les structures récursives du schéma de sortie. Par défaut, la valeur récursive est 2.
Pour en savoir plus, consultez la page
recursiveStructureDepth
.Cliquez sur Exporter pour exporter les ressources FHIR vers BigQuery.
- Pour suivre l'état de l'opération, cliquez sur l'onglet Opérations. Une fois l'opération terminée, les indications suivantes s'affichent :
- La section État de l'opération de longue durée est représentée par une coche verte sous l'en-tête OK.
- La section Présentation comporte une coche verte et un indicateur OK sur la même ligne que l'ID de l'opération.
gcloud
Pour exporter des ressources FHIR vers BigQuery, exécutez la
gcloud healthcare fhir-stores export bq
.
Exportez les ressources FHIR.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ensemble de données parent du magasin FHIR.
- FHIR_STORE_ID : ID du magasin FHIR.
- BIGQUERY_DATASET_ID: nom de l'ensemble de données BigQuery existant dans lequel vous exportez des ressources FHIR
- SCHEMA_TYPE: une valeur pour
SchemaType
. Utilisez l'une des valeurs suivantes:analytics
Schéma basé sur le document SQL sur FHIR. Étant donné que BigQuery n'accepte que 10 000 colonnes par table, aucun schéma n'est généré pour les champsParameters.parameter.resource
,Bundle.entry.resource
etBundle.entry.response.outcome
.analytics_v2
Un schéma semblable àanalytics
, avec une prise en charge supplémentaire des éléments suivants:- Les extensions avec des champs répétés
- Ressources FHIR contenues
analytics-v2
utilise plus d'espace dans la table de destination queanalytics
.
- WRITE_DISPOSITION: une valeur pour
WriteDisposition
. Utilisez l'une des valeurs suivantes:write-empty
N'exportez des données que si les tables BigQuery de destination sont vides.write-truncate
Effacez toutes les données existantes dans les tables BigQuery avant d'écrire les ressources FHIR.write-append
Ajouter des données aux tables BigQuery de destination
- FHIR_RESOURCE_TYPE: champ facultatif. Spécifiez un ou plusieurs types de ressources FHIR séparés par une virgule pour n'exporter que les ressources FHIR de ces types.
- SINCE_TIMESTAMP: champ facultatif. Spécifiez une valeur au format
YYYY-MM-DDThh:mm:ss.sss+zz:zz
pour n'exporter que les ressources FHIR mises à jour après un délai spécifique. Indiquez l'heure à la seconde et incluez un fuseau horaire. Par exemple,2015-02-07T13:28:17.239+02:00
et2017-01-01T00:00:00Z
sont des heures valides.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud healthcare fhir-stores export bq FHIR_STORE_ID \ --location=LOCATION \ --dataset=DATASET_ID \ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID \ --schema-type=SCHEMA_TYPE \ --write-disposition=WRITE_DISPOSITION \ --resource-type=FHIR_RESOURCE_TYPE \ --since=SINCE_TIMESTAMP
Windows (PowerShell)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ` --location=LOCATION ` --dataset=DATASET_ID ` --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ` --schema-type=SCHEMA_TYPE ` --write-disposition=WRITE_DISPOSITION ` --resource-type=FHIR_RESOURCE_TYPE ` --since=SINCE_TIMESTAMP
Windows (cmd.exe)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ^ --location=LOCATION ^ --dataset=DATASET_ID ^ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ^ --schema-type=SCHEMA_TYPE ^ --write-disposition=WRITE_DISPOSITION ^ --resource-type=FHIR_RESOURCE_TYPE ^ --since=SINCE_TIMESTAMP
name
une fois l'exportation terminée. Notez la valeur deOPERATION_ID
. Vous en aurez besoin à l'étape suivante.Réponse
Request issued for: [FHIR_STORE_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏ name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
Pour afficher plus de détails sur l'opération, exécutez la
gcloud healthcare operations describe
et fournir le OPERATION_ID de la réponse.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- DATASET_ID : ID de l'ensemble de données
- LOCATION : emplacement de l'ensemble de données
- OPERATION_ID : ID renvoyé par l'opération de longue durée
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud healthcare operations describe OPERATION_ID \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare operations describe OPERATION_ID ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare operations describe OPERATION_ID ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Vous devriez obtenir un résultat semblable à celui-ci :
Réponse
done: true // If there were any errors, an `error` field displays instead of a `response` field. // See Troubleshooting long-running operations for a list of response codes. error: ERROR code: ERROR_CODE message: DESCRIPTION metadata: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata' apiMethodName: 'google.cloud.healthcare.v1.fhir.FhirStoreService.ExportResources_bq' counter: success: 'SUCCESS_COUNT' // If there were any failures, they display in the `failure` field. failure: 'FAILURE_COUNT' createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID // The `response` field only displays if there were no errors. response: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.fhir.ExportResourcesResponse'
REST
Pour exporter des ressources FHIR vers BigQuery, utilisez le
projects.locations.datasets.fhirStores.export
.
Exportez les ressources FHIR:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ensemble de données parent du magasin FHIR.
- FHIR_STORE_ID : ID du magasin FHIR.
- BIGQUERY_DATASET_ID: nom de l'ensemble de données BigQuery existant dans lequel vous exportez des ressources FHIR
- SCHEMA_TYPE: une valeur pour
SchemaType
. Utilisez l'une des valeurs suivantes:ANALYTICS
Schéma basé sur le document SQL sur FHIR. Étant donné que BigQuery n'accepte que 10 000 colonnes par table, aucun schéma n'est généré pour les champsParameters.parameter.resource
,Bundle.entry.resource
etBundle.entry.response.outcome
.ANALYTICS_V2
Un schéma semblable àANALYTICS
, avec une prise en charge supplémentaire des éléments suivants:- Extensions avec plusieurs valeurs pour le même
url
- Ressources FHIR contenues
.ANALYTICS_V2
utilise plus d'espace dans la table de destination queANALYTICS
- Extensions avec plusieurs valeurs pour le même
- WRITE_DISPOSITION: une valeur pour
WriteDisposition
. Utilisez l'une des valeurs suivantes:WRITE_EMPTY
N'exportez des données que si les tables BigQuery de destination sont vides.WRITE_TRUNCATE
Effacez toutes les données existantes dans les tables BigQuery avant d'écrire les ressources FHIR.WRITE_APPEND
Ajouter des données aux tables BigQuery de destination
- FHIR_RESOURCE_TYPE: champ facultatif. Spécifiez un ou plusieurs types de ressources FHIR séparés par une virgule pour n'exporter que les ressources FHIR de ces types.
- SINCE_TIMESTAMP: champ facultatif. Spécifiez une valeur au format
YYYY-MM-DDThh:mm:ss.sss+zz:zz
pour n'exporter que les ressources FHIR mises à jour après un délai spécifique. Indiquez l'heure à la seconde et incluez un fuseau horaire. Par exemple,2015-02-07T13:28:17.239+02:00
et2017-01-01T00:00:00Z
sont des heures valides.
Corps JSON de la requête :
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPI Explorer
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
OPERATION_ID
. Vous en aurez besoin à l'étape suivante.Utilisez la méthode
projects.locations.datasets.operations.get
pour obtenir l'état de l'opération de longue durée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- DATASET_ID : ID de l'ensemble de données
- LOCATION : emplacement de l'ensemble de données
- OPERATION_ID : ID renvoyé par l'opération de longue durée
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Exécutez la commande suivante :
$cred = gcloud auth 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/operations/OPERATION_ID" | Select-Object -Expand ContentAPI Explorer
Ouvrez le page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
"done": true
, l'opération de longue durée est terminée.
Exporter des ressources FHIR vers des tables partitionnées
Pour exporter des ressources FHIR vers des tables partitionnées BigQuery, définissez le paramètre
TimePartitioning
"énumération" dans
lastUpdatedPartitionConfig
dans votre store FHIR.
Les tables partitionnées fonctionnent comme BigQuery
tables partitionnées par unité de temps.
Les tables partitionnées comportent une colonne supplémentaire nommée lastUpdated
, qui est un doublon
de la colonne meta.lastUpdated
générée à partir du champ meta.lastUpdated
dans
une ressource FHIR. BigQuery utilise le lastUpdated
pour partitionner les tables par heure, jour, mois ou année.
Voir Sélectionner un partitionnement quotidien, horaire, mensuel ou annuel pour obtenir des recommandations sur le choix d'une granularité de partition.
Vous ne pouvez pas convertir des tables BigQuery existantes non partitionnées en
les tables partitionnées. Si vous exportez une ressource Patient
les modifications apportées à une table Patients
non partitionnée ;
créer ultérieurement un nouveau store FHIR avec un partitionnement de table qui exporte vers le même
ensemble de données BigQuery, l'API Cloud Healthcare exporte toujours les données.
à la table Patients
non partitionnée. Pour commencer à utiliser
une table partitionnée,
supprimez la table Patients
existante ou utilisez un autre ensemble de données BigQuery.
Si vous ajoutez un partitionnement à une configuration de store FHIR existante, vous pouvez toujours exporter vers des tables non partitionnées existantes. Toutefois, le partitionnement ne prendra effet sur de nouvelles tables.
Les exemples suivants montrent comment exporter des ressources FHIR vers BigQuery les tables partitionnées.
Console
La console Google Cloud et gcloud CLI ne permettent pas d'effectuer cette opération. Utilisez plutôt curl
, PowerShell ou le langage de votre choix.
gcloud
La console Google Cloud et gcloud CLI ne permettent pas d'effectuer cette opération. Utilisez plutôt curl
, PowerShell ou le langage de votre choix.
REST
Pour exporter des ressources FHIR vers des tables partitionnées BigQuery, utilisez la
projects.locations.datasets.fhirStores.export
.
Exportez les ressources FHIR:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ensemble de données parent du magasin FHIR.
- FHIR_STORE_ID : ID du magasin FHIR.
- BIGQUERY_DATASET_ID: nom de l'ensemble de données BigQuery existant dans lequel vous exportez des ressources FHIR
- SCHEMA_TYPE: une valeur pour
SchemaType
. Utilisez l'une des valeurs suivantes:ANALYTICS
Schéma basé sur le document SQL sur FHIR. Étant donné que BigQuery n'accepte que 10 000 colonnes par table, aucun schéma n'est généré pour les champsParameters.parameter.resource
,Bundle.entry.resource
etBundle.entry.response.outcome
.ANALYTICS_V2
Un schéma semblable àANALYTICS
, avec une prise en charge supplémentaire des éléments suivants:- Extensions avec plusieurs valeurs pour le même
url
- Ressources FHIR contenues
.ANALYTICS_V2
utilise plus d'espace dans la table de destination queANALYTICS
- Extensions avec plusieurs valeurs pour le même
- TIME_PARTITION_TYPE: précision avec laquelle vous souhaitez partitionner les ressources FHIR exportées. Utilisez l'une des valeurs suivantes:
HOUR
: partitionner les données par heureDAY
: partitionner les données par jourMONTH
: partitionner les données par moisYEAR
: partitionner les données par année
- WRITE_DISPOSITION: une valeur pour
WriteDisposition
. Utilisez l'une des valeurs suivantes:WRITE_EMPTY
: n'exporte les données que si la table BigQuery est vide.WRITE_TRUNCATE
: effacez toutes les données existantes de la table BigQuery avant d'écrire les instances DICOM.WRITE_APPEND
: ajoute des données à la table BigQuery.
Corps JSON de la requête :
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPI Explorer
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Vous devriez recevoir une réponse JSON de ce type :
Utilisez la méthode
projects.locations.datasets.operations.get
pour obtenir l'état de l'opération de longue durée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- DATASET_ID : ID de l'ensemble de données
- LOCATION : emplacement de l'ensemble de données
- OPERATION_ID : ID renvoyé par l'opération de longue durée
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Exécutez la commande suivante :
$cred = gcloud auth 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/operations/OPERATION_ID" | Select-Object -Expand ContentAPI Explorer
Ouvrez le page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
"done": true
, l'opération de longue durée est terminée.
Interroger une table partitionnée
Pour réduire les coûts des requêtes lorsque vous interrogez des tables partitionnées, utilisez la classe
WHERE
pour filtrer par unité de temps.
Par exemple, supposons que vous définissiez
PartitionType
sur DAY
.
Pour interroger une table Patients
sur les ressources patient mises à jour sur une
exécutez la requête suivante:
SELECT * FROM `PROJECT_ID.BIGQUERY_DATASET.Patients` WHERE DATE(lastUpdated) = 'YYYY-MM-DD'
Interroger et analyser des données FHIR dans BigQuery
Après avoir exporté les ressources FHIR vers BigQuery, consultez la solution Analyser des données FHIR dans BigQuery pour en savoir plus sur l'interrogation et l'analyse des données exportées. La solution utilise les données synthétiques générées par SyntheaTM dans FHIR un ensemble de données public qui héberge plus d'un million de dossiers patients synthétiques aux formats Synthea™ et FHIR.
Résoudre les problèmes liés aux requêtes d'exportation FHIR
Si des erreurs se produisent lors d'une requête d'exportation FHIR, elles sont consignées dans Cloud Logging. Pour en savoir plus, consultez la section Afficher les journaux d'erreurs dans Cloud Logging.
Si l'ensemble de l'opération renvoie une erreur, consultez la section Résoudre les problèmes d'opérations de longue durée.
Impossible de convertir la colonne NULLABLE en REPEATED
Cette erreur est causée par une extension répétée. Pour résoudre cette erreur,
utilisez l'ANALYTICS_V2
type de schéma. Si vous utilisez déjà ANALYTICS_V2
, vous avez peut-être
conflit entre deux extensions, ou entre une extension et une autre
.
Les noms de colonne sont générés à partir du texte situé après le dernier caractère /
dans
URL d'extension. Si une URL d'extension se termine par une valeur telle que
/resource_field name
, un conflit peut survenir.
Pour éviter que cette erreur ne se reproduise, n'utilisez pas les extensions si leur champ sont identiques à ceux des champs de ressources que vous remplissez.
Étape suivante
- Pour en savoir plus sur la sécurité et la gouvernance des données dans BigQuery, consultez la section Présentation de la sécurité et de la gouvernance des données.