L'API Cloud Healthcare impose des limites à l'utilisation des ressources pour différentes raisons. Il s'agit, par exemple, de préserver la communauté des utilisateurs de Google Cloud en empêchant les pics d'utilisation imprévus. Des quotas d'essai gratuit sont également proposés dans Google Cloud. Ils offrent un accès limité aux utilisateurs qui souhaitent explorer Google Cloud, y compris l'API Cloud Healthcare.
Les quotas de l'API Cloud Healthcare sont fixés par projet pour chaque région ou emplacement multirégional. Si vous épuisez votre quota pour une région donnée, l'utilisation de l'API Cloud Healthcare dans les autres régions n'est pas affectée.
Vérifier vos quotas et votre utilisation
Les quotas sont des limites qui s'appliquent au stockage (également appelées "limites d'entrée") et aux opérations.
Pour vérifier les quotas disponibles pour les ressources de votre projet, accédez à la page Quotas de la console Google Cloud.
Pour afficher uniquement les quotas de l'API Cloud Healthcare, sélectionnez Service dans la liste déroulante Filtrer le tableau, puis API Cloud Healthcare.
Tous les projets ne sont pas soumis aux mêmes quotas. À mesure que votre utilisation de l'API Cloud Healthcare s'accroît, les quotas peuvent augmenter en conséquence. Si vous prévoyez une augmentation notable de l'utilisation, vous pouvez anticiper cette évolution en demandant des ajustements de quota sur la page Quotas de la console Google Cloud. Aucuns frais ne s'appliquent lorsque vous demandez une augmentation de quota. Vos coûts n'augmentent que si vous utilisez plus de ressources.
Limites de ressources
L'API Cloud Healthcare limite la taille du contenu d'une requête, par exemple la taille d'une image radio dans une requête DICOM. Vous ne pouvez pas demander la modification d'une limite imposée à une ressource. Toutefois, dans certaines situations, vous pouvez effectuer une opération d'importation pour importer un contenu excédant la limite imposée à une ressource.
Le tableau ci-dessous indique les limites imposées aux ressources et sujettes à modification.
Modalité | Taille limite des requêtes |
---|---|
DICOM |
|
FHIR |
|
HL7v2 | 10 Mo |
Si vous tentez de traiter un contenu plus volumineux que la limite autorisée pour la ressource, une erreur se produit.
Limites de taille de executeBundle FHIR
Vous pouvez utiliser la méthode fhir.executeBundle
pour effectuer plusieurs opérations FHIR dans une seule requête API. Le nombre d'opérations dépend du nombre d'entrées dans un lot ou un lot de transactions. Cette approche est plus efficace que d'effectuer des appels d'API individuels pour chaque opération.
Les temps de traitement des requêtes fhir.executeBundle
augmentent avec le nombre d'entrées du lot. Des facteurs tels que la contention de ressources (par exemple, la mise à jour de la même ressource dans le cadre de nombreux lots de transactions en parallèle) peuvent également avoir un impact sur les performances. Pour savoir quand un conflit de ressources peut se produire et comment éviter qu'il ne provoque des erreurs, consultez les bonnes pratiques concernant le débit de données.
Les lots volumineux, en particulier ceux qui dépassent 1 000 entrées, peuvent expirer et ne pas être traités.
Pour vous assurer d'un traitement réussi et rapide, tenez compte de ces limites lorsque vous envoyez vos requêtes fhir.executeBundle
:
- Lots de transactions: les lots dépassant 4 500 entrées sont immédiatement rejetés pour éviter les délais avant expiration. Les lots de transactions nécessitent que toutes les opérations réussissent.
- Lots de lots: aucune limite d'entrée spécifique n'existe, mais les lots plus importants augmentent le risque d'expirations. Les délais avant expiration peuvent entraîner un succès partiel, avec seulement certaines entrées traitées.
Utiliser des opérations d'importation pour les contenus excédant les limites de ressources
Les opérations d'importation vous permettent de traiter des contenus dont la taille est supérieure à la limite imposée aux ressources. Lors d'une opération d'importation, la taille du contenu n'est limitée que par la taille de stockage maximale de 5 To autorisée pour les objets individuels sur Google Cloud. Les opérations d'importation sont soumises à des quotas de stockage qui déterminent leur durée. Vous pouvez effectuer une opération d'importation si vous souhaitez, par exemple, stocker de nombreuses instances DICOM dans un datastore DICOM, sans être soumis à la limite de taille des requêtes. Au lieu d'importer les instances au moyen des méthodes Store Transaction disponibles, vous pouvez les importer dans un bucket Cloud Storage, puis les importer dans le datastore DICOM.
Pour connaître les étapes détaillées de l'importation de données DICOM au moyen d'une opération d'importation, consultez la page Importer et exporter des données DICOM à l'aide de Cloud Storage.
Pour connaître les étapes détaillées de l'importation de ressources FHIR au moyen d'une opération d'importation, consultez la page Importer et exporter des ressources FHIR à l'aide de Cloud Storage.
Pour connaître les étapes détaillées de l'importation de messages HL7v2 au moyen d'une opération d'importation, consultez la page Importer des messages HL7v2 à partir de Cloud Storage.
Demander la modification d'un quota
Pour demander la modification d'un quota, vous devez disposer de l'autorisation serviceusage.quotas.update
. Elle est incluse par défaut pour les rôles prédéfinis suivants : propriétaire, éditeur et administrateur de quotas.
Accédez à la page Quotas.
Sur la page Quotas, sélectionnez les quotas que vous souhaitez modifier. Si vous souhaitez afficher uniquement les quotas de l'API Cloud Healthcare, cliquez sur Service dans la liste déroulante Filtrer le tableau, puis sélectionnez API Cloud Healthcare.
Cochez les cases correspondant aux quotas que vous souhaitez modifier.
En haut de la page, cliquez sur le bouton Modifier les quotas.
Remplissez le formulaire et cliquez sur Suivant.
Saisissez les limites que vous souhaitez, puis cliquez sur Suivant.
Cliquez sur Envoyer la requête.
Par défaut, les demandes de réduction de quota sont refusées. Si vous souhaitez réduire votre quota, répondez à l'e-mail de l'assistance en précisant vos besoins. Un conseiller répondra à votre demande.
Vous recevrez une réponse de l'équipe API Cloud Healthcare dans les 24 à 48 heures suivant votre demande.
Prévoyez une demande de ressources supplémentaires au moins quelques jours à l'avance pour qu'elle soit traitée en temps voulu.
Demandes de quota de position
Vous pouvez demander une augmentation de quota pour l'API Cloud Healthcare dans une région spécifique ou dans un emplacement multirégional.
Pour demander une augmentation de quota dans une seule région, indiquez la région dans votre demande.
Pour demander une augmentation de quota dans un emplacement multirégional:
- Pour demander une augmentation de quota dans la multirégion
us
, indiquez dans votre demande que le quota est destiné à la "méta-région États-Unis". - Pour demander une augmentation de quota dans la multirégion
eu
, indiquez dans votre demande que le quota est destiné à la "méta-région UE".
Limites de quota
Les sections suivantes décrivent les quotas associés aux datastores et aux opérations de l'API Cloud Healthcare.
Quotas DICOM
Le tableau suivant décrit les quotas de l'API Cloud Healthcare associés aux magasins DICOM et aux opérations DICOM.
Nom de la métrique | Nom à afficher | Description |
---|---|---|
dicomweb_ops |
Nombre d'opérations DICOMweb par minute et par région | Inclut les méthodes suivantes :
|
dicom_structured_storage_bytes |
Ingestion de stockage DICOM structuré en octets par minute et par région | Octets structurés, sous la forme de balises DICOM et de métadonnées associées, envoyés à l'API Cloud Healthcare lors du traitement des opérations dicomweb_ops . |
dicom_store_ops |
Nombre d'opérations de magasin DICOM par minute et par région | Opérations sur le magasin DICOM, et non sur les données DICOM. Inclut les méthodes suivantes: |
dicom_store_lro_ops |
Nombre d'opérations de longue durée du magasin DICOM par minute et par région | Opérations sur le magasin DICOM, et non sur les données DICOM, qui renvoient une opération de longue durée. Inclut les méthodes suivantes: |
dicom_structured_storage_operations_bytes |
Ingestion de stockage DICOM structuré pour les opérations de longue durée en octets par minute et par région | Octets structurés, sous la forme de balises DICOM et de métadonnées associées, envoyés à l'API Cloud Healthcare lors du traitement des opérations dicom_store_lro_ops . |
Quotas FHIR
Le tableau suivant décrit les quotas de l'API Cloud Healthcare associés aux magasins FHIR et aux opérations FHIR.
Nom de la métrique | Nom à afficher | Description |
---|---|---|
fhir_read_ops |
Nombre d'opérations de lecture FHIR par minute et par région | Mesure en unités, où une unité correspond à une requête de lecture sur une ressource FHIR individuelle. Inclut les méthodes suivantes: v1beta1: v1: |
fhir_write_ops |
Nombre d'opérations d'écriture FHIR par minute et par région | Mesure en unités, où une unité correspond à une requête de création, de mise à jour ou de suppression sur une ressource FHIR individuelle. Inclut les méthodes suivantes: v1beta1: v1: |
fhir_search_ops |
Nombre d'opérations de recherche FHIR par minute et par région | Mesure en unités, où une unité correspond à une requête de recherche sur un type de ressource FHIR pour lequel la recherche ne nécessite pas de résolution de références, sauf lorsque _include est utilisé. Par exemple, une recherche Observation?subject:Patient.identifier=system|value consomme deux unités de quota fhir_search_ops , car elle nécessite deux recherches, l'une sur la ressource Observation et l'autre sur la ressource Patient, en utilisant subject comme référence.Inclut les méthodes suivantes : v1beta1
|
fhir_storage_egress_bytes |
Sortie de stockage FHIR en octets par minute et par région | Mesuré en unités, où une unité correspond à un octet que l'API Cloud Healthcare lit à partir du stockage lors du traitement des opérations fhir_read_ops , fhir_write_ops et fhir_search_ops . |
fhir_storage_bytes |
Ingestion de stockage FHIR en octets par minute et par région | Octets envoyés à l'API Cloud Healthcare lors du traitement des opérations fhir_write_ops . |
fhir_store_ops |
Nombre d'opérations de magasin FHIR par minute et par région | Opérations sur le magasin FHIR, et non sur les données FHIR. Inclut les méthodes suivantes: |
fhir_store_lro_ops |
Nombre d'opérations de longue durée du magasin FHIR par minute et par région | Opérations sur le store FHIR, et non sur les données FHIR, qui renvoient une opération de longue durée. Inclut les méthodes suivantes: |
fhir_storage_operations_bytes |
Ingestion de stockage FHIR pour les opérations de longue durée en octets par minute et par région | Octets envoyés à l'API Cloud Healthcare lors du traitement des opérations fhir_store_lro_ops . |
Recherches multi-opérations
Une seule requête peut consommer plusieurs unités de quota. Par exemple, une requête de recherche GET
utilisant Observation?subject:Patient.identifier=system|value
comme paramètre de recherche consomme deux unités de quota fhir_search_ops
. Deux opérations de recherche sont effectuées, l'une sur la ressource "Observation" et l'autre sur la ressource "Patient", en utilisant subject
comme référence.
Si une requête de suppression conditionnelle utilisant Observation?status=canceled
comme critère de recherche recherche et supprime six ressources Observation, les unités de quota suivantes sont consommées:
- Une unité de quota
fhir_search_ops
, car la requête de rechercheGET
n'est effectuée que sur un seul type de ressource FHIR, la ressource Observation. La requête renvoie toutes les ressources Observation correspondant aux critères de recherche. - Six unités de quota
fhir_write_ops
, car il y a un total de six opérationsDELETE
sur les ressources d'observation supprimées.
Consommation du quota de groupe d'exécution
Pour envoyer une requête execute bundle, quel que soit le quota consommé par la requête, votre projet Google Cloud doit disposer d'au moins une unité disponible pour chacun des quotas suivants:
fhir_read_ops
fhir_write_ops
fhir_search_ops
Si ces quotas ne sont pas disponibles, la requête d'exécution du bundle échoue.
Par exemple, si vous envoyez une requête fhir.executeBundle
avec un lot de transactions contenant 100 opérations POST
, chacune créant une ressource FHIR, l'API Cloud Healthcare vérifie d'abord qu'au moins une unité de quota est disponible pour fhir_read_ops
, fhir_write_ops
et fhir_search_ops
. Si la validation aboutit, l'API Cloud Healthcare exécute le bundle et crée les ressources FHIR, qui consomment un total de 100 unités de quota fhir_write_ops
.
Prenons l'exemple du groupe de transactions suivant, qui utilise une référence conditionnelle pour créer une ressource Observation si reference
existe:
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"request": {
"method": "POST",
"url": "Observation"
},
"resource": {
"resourceType": "Observation",
"subject": {
"reference": "Patient?identifier=a1b2c3d4e5"
}
}
}
]
}
Lorsque vous exécutez le groupe, l'API Cloud Healthcare vérifie d'abord qu'au moins une unité de quota est disponible pour fhir_read_ops
, fhir_write_ops
et fhir_search_ops
. Si la validation réussit, l'API Cloud Healthcare exécute le groupe. Les unités de quota suivantes sont consommées:
- Un
fhir_write_ops
pour créer la ressource d'observation. - Un seul
fhir_search_ops
, car une seule opération de recherche est effectuée sur la référencePatient?identifier=a1b2c3d4e5
.
Bonnes pratiques
Pour connaître les bonnes pratiques de gestion des quotas de l'API Cloud Healthcare, consultez la section Bonnes pratiques de gestion des quotas.