For å få tilgang til legitimasjonen fra prosjektet ditt i Node.js når du arbeider med Google Cloud Platform (GCP), kan du bruke Google Application Default Credentials (ADC)-tilnærmingen. Denne metoden lar deg autentisere applikasjonen din og få tilgang til GCP-tjenester programmatisk.
Til å begynne med må du sørge for at du har de nødvendige avhengighetene installert. Du trenger npm-pakken `google-auth-library`, som gir verktøyene for autentisering med GCP-tjenester. Du kan installere den ved å bruke følgende kommando:
npm install google-auth-library
Når pakken er installert, kan du fortsette med å få tilgang til legitimasjonen. ADC-tilnærmingen lar deg automatisk hente legitimasjonen fra miljøet, uten å måtte spesifisere dem eksplisitt i koden din. Dette er spesielt nyttig når du kjører koden din i GCP-miljøer som Compute Engine, App Engine eller Cloud Functions.
For å få tilgang til legitimasjonen kan du bruke `google-auth-library`-pakken til å opprette en forekomst av `GoogleAuth`-klassen. Denne klassen gir metoder for å hente legitimasjonen. Her er et eksempel på hvordan du kan oppnå dette:
javascript const { GoogleAuth } = require('google-auth-library'); async function main() { const auth = new GoogleAuth(); const credentials = await auth.getApplicationDefault(); // Access the credentials const { client_email, private_key } = credentials.credential; // Use the credentials to authenticate and access GCP services // ... } main().catch(console.error);
I koden ovenfor importeres `GoogleAuth`-klassen fra `google-auth-library`-pakken. En forekomst av denne klassen opprettes ved å bruke `new GoogleAuth()`. Deretter kalles `getApplicationDefault()`-metoden asynkront for å hente legitimasjonen. Den innhentede legitimasjonen lagres i "legitimasjons"-variabelen.
For å få tilgang til den individuelle legitimasjonen, kan du destrukturere "legitimasjons"-egenskapen til "legitimasjons"-objektet. I eksemplet ovenfor er egenskapene `client_email` og `private_key` trukket ut fra legitimasjonen.
Når du har legitimasjonen, kan du bruke den til å autentisere og få tilgang til GCP-tjenester. Avhengig av den spesifikke tjenesten du bruker, kan det hende du må oppgi legitimasjonen på forskjellige måter. Når du for eksempel bruker Google Cloud Storage Node.js-klientbiblioteket, kan du sende legitimasjonen som en parameter når du oppretter en ny klientforekomst:
javascript const { Storage } = require('@google-cloud/storage'); async function main() { const auth = new GoogleAuth(); const credentials = await auth.getApplicationDefault(); const storage = new Storage({ credentials: credentials.credential }); // Use the storage client to interact with Google Cloud Storage // ... } main().catch(console.error);
I kodebiten ovenfor importeres `Storage`-klassen fra `@google-cloud/storage`-pakken. Påloggingsinformasjonen som ble hentet tidligere, sendes som "legitimasjons"-parameteren når du oppretter en ny "Storage"-forekomst.
Ved å bruke Google Application Default Credentials-tilnærmingen kan du sømløst få tilgang til legitimasjonen fra prosjektet ditt i Node.js når du arbeider med Google Cloud Platform. Dette lar deg autentisere og samhandle med GCP-tjenester programmatisk, uten å eksplisitt spesifisere legitimasjonen i koden din.
Andre nyere spørsmål og svar vedr EITC/CL/GCP Google Cloud Platform:
- I hvilken grad er GCP nyttig for nettsider eller applikasjonsutvikling, distribusjon og hosting?
- Hvordan beregne IP-adresseområdet for et subnett?
- Hva er forskjellen mellom Cloud AutoML og Cloud AI Platform?
- Hva er forskjellen mellom Big Table og BigQuery?
- Hvordan konfigurere belastningsbalanseringen i GCP for bruk av flere backend-webservere med WordPress, for å sikre at databasen er konsistent på tvers av de mange back-ends (webservere) WordPress-forekomstene?
- Er det fornuftig å implementere lastbalansering når du bare bruker en enkelt backend-webserver?
- Hvis Cloud Shell gir et forhåndskonfigurert skall med Cloud SDK og det ikke trenger lokale ressurser, hva er fordelen med å bruke en lokal installasjon av Cloud SDK i stedet for å bruke Cloud Shell ved hjelp av Cloud Console?
- Finnes det en Android-mobilapplikasjon som kan brukes til administrasjon av Google Cloud Platform?
- Hva er måtene å administrere Google Cloud Platform på?
- Hva er cloud computing?
Se flere spørsmål og svar i EITC/CL/GCP Google Cloud Platform