Norėdami pasiekti savo projekto kredencialus Node.js dirbdami su „Google Cloud Platform“ (GCP), galite naudoti „Google“ programos numatytųjų kredencialų (ADC) metodą. Šis metodas leidžia autentifikuoti programą ir programiškai pasiekti GSP paslaugas.
Norėdami pradėti, turite įsitikinti, kad įdiegėte reikiamas priklausomybes. Jums reikės `google-auth-library' npm paketo, kuriame pateikiami autentifikavimo naudojant GSP paslaugas įrankiai. Jį galite įdiegti naudodami šią komandą:
npm install google-auth-library
Įdiegę paketą galite tęsti prieigą prie kredencialų. ADC metodas leidžia automatiškai gauti kredencialus iš aplinkos, nereikia jų aiškiai nurodyti savo kode. Tai ypač naudinga paleidus kodą GCP aplinkose, pvz., „Compute Engine“, „App Engine“ ar „Cloud Functions“.
Norėdami pasiekti kredencialus, galite naudoti paketą „google-auth-library“, kad sukurtumėte „GoogleAuth“ klasės egzempliorių. Šioje klasėje pateikiami kredencialų gavimo metodai. Štai pavyzdys, kaip galite tai padaryti:
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);
Aukščiau pateiktame kode „GoogleAuth“ klasė yra importuota iš „google-auth-library“ paketo. Šios klasės egzempliorius sukuriamas naudojant „new GoogleAuth()“. Tada metodas „getApplicationDefault()“ iškviečiamas asinchroniškai, kad būtų gauti kredencialai. Gauti kredencialai saugomi kintamajame „credentials“.
Norėdami pasiekti atskirus kredencialus, galite sunaikinti objekto kredencialų ypatybę. Aukščiau pateiktame pavyzdyje ypatybės „kliento_el. paštas“ ir „privatus_raktas“ išskiriamos iš kredencialų.
Kai turėsite kredencialus, galėsite juos naudoti autentifikuoti ir pasiekti GSP paslaugas. Atsižvelgiant į konkrečią naudojamą paslaugą, kredencialus gali tekti pateikti įvairiais būdais. Pavyzdžiui, kai naudojate Google Cloud Storage Node.js kliento biblioteką, galite perduoti kredencialus kaip parametrą kurdami naują kliento egzempliorių:
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);
Anksčiau pateiktame kodo fragmente „Storage“ klasė importuojama iš „@google-cloud/storage“ paketo. Kuriant naują „Saugyklos“ egzempliorių, anksčiau gauti kredencialai perduodami kaip parametras „kredencialai“.
Naudodami „Google“ programos numatytųjų kredencialų metodą, dirbdami su „Google Cloud Platform“ galite sklandžiai pasiekti savo projekto „Node.js“ kredencialus. Tai leidžia programiškai autentifikuoti GSP paslaugas ir su jomis sąveikauti, kode nereikia aiškiai nurodyti kredencialų.
Kiti naujausi klausimai ir atsakymai apie EITC/CL/GCP „Google Cloud Platform“:
- Kiek GSP naudinga kuriant tinklalapius ar programas, diegiant ir priegloboje?
- Kaip apskaičiuoti potinklio IP adresų diapazoną?
- Kuo skiriasi „Cloud AutoML“ ir „Cloud AI Platform“?
- Kuo skiriasi „Big Table“ ir „BigQuery“?
- Kaip sukonfigūruoti apkrovos balansavimą GCP, kad būtų galima naudoti kelis pagrindinius žiniatinklio serverius su „WordPress“, užtikrinant, kad duomenų bazė yra nuosekli daugelyje „WordPress“ egzempliorių (žiniatinklio serverių)?
- Ar prasminga diegti apkrovos balansavimą, kai naudojamas tik vienas vidinis žiniatinklio serveris?
- Jei „Cloud Shell“ pateikia iš anksto sukonfigūruotą apvalkalą su „Cloud SDK“ ir jam nereikia vietinių išteklių, koks pranašumas naudojant vietinį „Cloud SDK“ diegimą, o ne „Cloud Shell“ naudojant „Cloud Console“?
- Ar yra „Android“ mobilioji programa, kurią galima naudoti „Google Cloud Platform“ tvarkymui?
- Kokie yra „Google Cloud Platform“ valdymo būdai?
- Kas yra debesų kompiuterija?
Peržiūrėkite daugiau klausimų ir atsakymų EITC/CL/GCP Google Cloud Platform