J'ai 2 projets différents en GCP.
J'ai besoin d'accéder à Bigquery Datastore du projet-1 fort>. Ont créé la clé de service de service requise. P> ont écrit une fonction J'essaie de récupérer les informations d'identification de ce fichier de clé JSON fort>. Ont essayé de suivre différentes méthodes: et je continue à obtenir une erreur, stry> p> J'ai essayé de donner nom de fichier comme URL ou Linkurl ou URL publique forte> du fichier godet JSON. P> Veuillez indiquer comment nous pouvons accéder à la bigquery du projet -1 à partir de la fonction de cloud de Project-2 et je dispose de la clé JSON de compte de service à partir du projet-1. Strong> p> de la fonction de cloud Python dans le projet 2 Utilisation du service Compte JSON Clé du projet 1 P> P>
Creidentials = Service_account.Credentials.from_service_account_file (nom de fichier, scopes = ' https://www.googleapis.com / auth / cloud-plate-forme ')
ou alors
client = bigquery.client.from_service_account_json (nom de fichier)
ou alors
client = bigquery.client.from_service_account_file (nom de fichier)
ou alors
Critiques = Service_account.Credentials.from_service_account_info (Service_account_info) P> [ERRNO 2] Aucun fichier ou annuaire: fichier de fichier H1>
3 Réponses :
Les comptes de service ont des adresses postales telles que les comptes d'utilisateurs. P>
Vous pouvez donc donner des autorisations requises à
Vous ne pouvez pas ajouter d'accès aux tables de données du projet-1 dans le compte de service du projet-2. Donc, cela peut ne pas fonctionner. Nous devons rechercher comment accéder à n'importe quelle clé de service JSON Clé du projet-1 dans la fonction Cloud du projet-2. Veuillez suggérer.
Ça marche pour moi. J'ai un compte de service dans le projet projecta. Mes jeux de données et mes tables dans le projet. Aussi je gère des requêtes sur un autre projet. (pour les coûts de requête de facturation à la fin du projet) i>
J'ai besoin de clarifier d'abord: P>
Google_Applications_Credentials code> variable d'environnement? LI>
- Si vous créez déjà un compte de service et téléchargez la clé de Project 1 fort>, il vous suffit de vous assurer de pouvoir interroger les données par accès acquis nécessaire, par exemple BigQuery Viewer si vous n'avez besoin que d'interroger les données. Après cela, vous avez passé les informations d'identification et vous pouvez procéder à l'étape que vous avez déjà mentionnée précédemment. LI>
ol>
Hey @rakeshgupta Si cela vous a aidé alors s'il vous plaît répondez à votre propre question et la marque résolue. Cela permet aux autres avec le même problème de voir directement la solution plutôt que dans les commentaires. De plus, d'autres peuvent uppoter cette réponse ... merci!
Merci pour votre aide. Nous sommes en mesure de le faire fonctionner. P>
C'est comme suit: p>
Créer un compte de service dans le projet 2 P> Li>
Dans le projet 1, ajoutez un nouveau rôle IAM avec le nouveau membre en tant que numéro de compte de service Project 2 et donnez accès à BigQuery of Project 1 P> Li>
dans le projet 2, ajoutez un ID de compte de service pour exécuter la fonction Cloud P> LI>
dans la fonction Cloud, faites-vous juste référence au projet 1 comme Client = BigQuery.client (Project = 'Project 1) et nous sommes en mesure de récupérer les données de BigQuery. - P> LI> ol>