Utilisez Dataflow Config Store pour configurer et gérer les paramètres des jobs dans les ressources Resource Manager, y compris les Google Cloud organisations, les dossiers et les projets.
Avec Dataflow Config Store, vous pouvez définir des règles de configuration à grande échelle sans modifier le code de pipeline, les modèles de job ou les scripts de déploiement individuels. Par exemple, vous pouvez définir un type de machine de lanceur par défaut pour l'ensemble d'une organisation ou d'un dossier afin de limiter les pénuries de types de machines Compute Engine, de faciliter les migrations de machines ou de standardiser le dimensionnement des ressources.
Paramètres compatibles et limites
Le magasin de configuration Dataflow accepte les paramètres suivants :
default_launcher_machine_type: spécifie le type de machine Compute Engine par défaut (tel quee2-standard-2oun2-standard-2) utilisé par la VM du lanceur de modèles pour les jobs de modèle Flex.
Dataflow Config Store présente les limites suivantes :
- Le paramètre
default_launcher_machine_typene s'applique qu'à la VM du lanceur de modèle pour les jobs de modèle Flex. Cela n'affecte pas les VM de nœud de calcul ni les jobs de modèle classique. Pour configurer les types de machines des VM de nœud de calcul, consultez Configurer les VM de nœud de calcul Dataflow. - Lorsque vous ciblez un projet, vous devez spécifier le numéro de projet numérique. Les ID de projet ne sont pas acceptés.
- Les paramètres du magasin de configuration sont régionaux et ne s'appliquent qu'aux jobs exécutés dans la même région Dataflow.
Définir la priorité de résolution
Lorsqu'un job Dataflow démarre, les paramètres sont résolus à l'aide d'un modèle de priorité hiérarchique dans lequel la configuration la plus spécifique est prioritaire :
- Configuration au niveau du job : paramètres explicitement transmis lors de l'envoi du job (par exemple, via des options de pipeline ou des paramètres d'exécution).
- Paramètre au niveau du projet : paramètre Config Store configuré directement sur le projet où la tâche est exécutée.
- Paramètre au niveau du dossier ou de l'organisation : paramètre Config Store configuré sur les ressources ancêtres dans la hiérarchie Resource Manager. Le dossier ancêtre le plus proche du projet prévaut sur les dossiers de niveau supérieur et l'organisation.
- Valeur par défaut à l'échelle du service Dataflow : valeurs par défaut du service intégré utilisées lorsqu'aucun remplacement n'est défini au niveau du job ou de la hiérarchie Resource Manager.
Avant de commencer
Avant de gérer ou d'inspecter les paramètres du Config Store, assurez-vous de disposer des autorisations IAM (Identity and Access Management) requises sur le projet, le dossier ou l'organisation cible.
Autorisations requises
| Opération | Autorisation requise |
|---|---|
| Créer ou mettre à jour un paramètre | dataflow.configStoreSettings.create |
| Afficher un paramètre explicitement configuré | dataflow.configStoreSettings.get |
| Répertorier les paramètres d'une ressource | dataflow.configStoreSettings.list |
| Résoudre le paramètre effectif | dataflow.configStoreSettings.resolve |
| Supprimer un remplacement de paramètre | dataflow.configStoreSettings.delete |
Rôles prédéfinis
Vous pouvez attribuer les rôles prédéfinis suivants au projet, au dossier ou à l'organisation cible, ou créer des rôles personnalisés avec les autorisations requises :
- Administrateur Dataflow (
roles/dataflow.admin) : inclut les autorisations permettant de créer, d'obtenir, de lister, de résoudre et de supprimer les paramètres du Config Store (dataflow.configStoreSettings.*). - Développeur Dataflow (
roles/dataflow.developer) : inclut des autorisations en lecture seule pour obtenir, lister et résoudre les paramètres du Config Store. - Lecteur Dataflow (
roles/dataflow.viewer) : inclut des autorisations en lecture seule pour obtenir, lister et résoudre les paramètres du Config Store.
Pour en savoir plus, consultez la page Contrôle des accès avec IAM.
Gérer les paramètres à l'aide de la gcloud CLI
Vous pouvez gérer les paramètres du Config Store à l'aide de la gcloud CLI.
Spécifier le champ d'application de la ressource cible
Lorsque vous utilisez des commandes gcloud dataflow config-store-settings, spécifiez le champ d'application de la ressource cible à l'aide de l'un des flags mutuellement exclusifs suivants.
Ne les combinez pas dans la même commande.
- Project :
--project=PROJECT_NUMBER(utilisez le numéro de projet numérique Google Cloud , et non l'ID du projet) - Dossier :
--folder=FOLDER_ID(ID numérique de votre dossier) - Organisation :
--organization=ORGANIZATION_ID(ID numérique de votre organisation)
Créer ou mettre à jour un paramètre de magasin de configuration
Pour créer un paramètre sur un projet, un dossier ou une organisation, exécutez la commande gcloud dataflow config-store-settings create. Si le paramètre existe déjà sur la ressource cible, l'exécution de la commande create avec un --value différent remplace la valeur du paramètre existant :
gcloud dataflow config-store-settings create SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION \
--value="SETTING_VALUE"
Remplacez les éléments suivants :
SETTING_ID: ID du paramètre compatible à configurer, par exempledefault_launcher_machine_type.PROJECT_NUMBER: numéro de votre projet Google Cloud. Pour cibler un dossier ou une organisation au lieu d'un projet, remplacez--project=PROJECT_NUMBERpar--folder=FOLDER_IDou--organization=ORGANIZATION_ID.REGION: région Dataflow où le paramètre s'applique, par exempleus-central1.SETTING_VALUE: valeur du paramètre, par exemplee2-standard-2pourdefault_launcher_machine_type.
Récupérer un paramètre du magasin de configuration
Pour récupérer un paramètre configuré directement sur une ressource, exécutez la commande gcloud dataflow config-store-settings describe :
gcloud dataflow config-store-settings describe SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Remplacez les éléments suivants :
SETTING_ID: ID du paramètre compatible à récupérer, par exempledefault_launcher_machine_type.PROJECT_NUMBER: numéro de votre projet Google Cloud. Pour cibler un dossier ou une organisation au lieu d'un projet, remplacez--project=PROJECT_NUMBERpar--folder=FOLDER_IDou--organization=ORGANIZATION_ID.REGION: région Dataflow du paramètre, par exempleus-central1.
Lister les paramètres du magasin de configuration
Pour lister tous les paramètres du Config Store configurés directement sur une ressource, exécutez la commande gcloud dataflow config-store-settings list :
gcloud dataflow config-store-settings list \
--project=PROJECT_NUMBER \
--location=REGION \
--page-size=10
Remplacez les éléments suivants :
PROJECT_NUMBER: numéro de votre projet Google Cloud. Pour cibler un dossier ou une organisation au lieu d'un projet, remplacez--project=PROJECT_NUMBERpar--folder=FOLDER_IDou--organization=ORGANIZATION_ID.REGION: région Dataflow à partir de laquelle lister les paramètres, par exempleus-central1.
Résoudre le paramètre effectif
Pour évaluer la valeur de paramètre qui s'applique aux jobs démarrés dans une hiérarchie de ressources, exécutez la commande gcloud dataflow config-store-settings resolve.
Cette commande sert de simulation pour confirmer la valeur de paramètre utilisée par un job :
gcloud dataflow config-store-settings resolve SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Remplacez les éléments suivants :
SETTING_ID: ID du paramètre compatible à résoudre, par exempledefault_launcher_machine_type.PROJECT_NUMBER: numéro de votre projet Google Cloud. Pour cibler un dossier ou une organisation au lieu d'un projet, remplacez--project=PROJECT_NUMBERpar--folder=FOLDER_IDou--organization=ORGANIZATION_ID.REGION: région Dataflow dans laquelle le job s'exécute, par exempleus-central1.
Le résultat renvoie la valeur setting effective, ainsi que toutes les valeurs choices candidates de la hiérarchie :
setting:
name: projects/123456789012/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: e2-standard-2
choices:
- name: projects/123456789012/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: e2-standard-2
- name: organizations/987654321098/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: n1-standard-1
Dans cet exemple, le projet et l'organisation définissent tous deux une valeur, et le paramètre plus spécifique au niveau du projet (e2-standard-2) est prioritaire.
Supprimer un paramètre de Config Store
Pour supprimer un remplacement de paramètre d'une ressource, exécutez la commande gcloud dataflow config-store-settings delete :
gcloud dataflow config-store-settings delete SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Remplacez les éléments suivants :
SETTING_ID: ID du paramètre compatible à supprimer, par exempledefault_launcher_machine_type.PROJECT_NUMBER: numéro de votre projet Google Cloud. Pour cibler un dossier ou une organisation au lieu d'un projet, remplacez--project=PROJECT_NUMBERpar--folder=FOLDER_IDou--organization=ORGANIZATION_ID.REGION: région Dataflow du paramètre, par exempleus-central1.
Lorsque vous supprimez un paramètre, Dataflow utilise le paramètre configuré sur les dossiers ou organisations ancêtres, ou les valeurs par défaut du service.
Résoudre les erreurs liées au magasin de configuration
La liste suivante décrit comment résoudre les erreurs courantes de Config Store :
INVALID_ARGUMENT(HTTP 400) : la valeur du paramètre n'est pas compatible (par exemple, un type de machine Compute Engine non valide),--projectspécifie un ID de projet au lieu d'un numéro de projet numérique, ou--locationn'est pas une région Dataflow valide.NOT_FOUND(HTTP 404) : le paramètre n'a pas été créé directement sur la ressource spécifiée. Exécutezgcloud dataflow config-store-settings listpour afficher les paramètres de la ressource ouresolvepour vérifier les paramètres hérités.PERMISSION_DENIED(HTTP 403) : l'appelant ne dispose pas des autorisations IAM requises au niveau du projet, du dossier ou de l'organisation cible.ABORTED(HTTP 409) : une mise à jour simultanée a modifié le paramètre pendant votre requête. Relancez la commande.- Échec du job après la création d'un paramètre : la création d'un paramètre Config Store valide le format du paramètre, mais ne vérifie pas la disponibilité des ressources régionales. Un job peut toujours échouer au moment du lancement si la ressource configurée n'est pas disponible. Par exemple, un type de machine peut ne pas être compatible avec la région cible, ou la zone peut rencontrer une pénurie de ressources. Pour résoudre ce problème, modifiez le paramètre afin d'utiliser un type de machine disponible. Pour en savoir plus, consultez Régions et zones disponibles et Épuisement des ressources de la VM du lanceur.
Étapes suivantes
- Découvrez comment configurer des VM de nœud de calcul Dataflow.
- Découvrez comment définir les options de pipeline Dataflow.
- Consultez la présentation des modèles Dataflow.
- Apprenez-en plus sur les types de machines Compute Engine.