Gestire API Cloud e librerie in Cloud Code for IntelliJ

Puoi accedere ai prodotti e ai servizi Google Cloud dal tuo codice utilizzando le API Cloud. Queste API Cloud mostrano una semplice interfaccia REST JSON che puoi chiamare tramite le librerie client.

Questo documento descrive come attivare le API Cloud e aggiungere le librerie client di Cloud al tuo progetto.

Sfogliare le API Cloud

Per esplorare tutte le API Google Cloud disponibili nell'IDE, segui questi passaggi:

  1. Vai a Strumenti > Google Cloud Code > API cloud.

  2. La finestra Gestisci API Google Cloud raggruppa le API Cloud per categoria. Puoi anche utilizzare la barra di ricerca delle API di ricerca per trovare API specifiche.

    Explorer API Cloud che mostra l'elenco delle API Cloud.

  3. Fai clic su un'API per visualizzare ulteriori dettagli, ad esempio lo stato, le istruzioni di installazione specifiche per il linguaggio per le librerie client corrispondenti e la documentazione pertinente.

Abilita Cloud APIs

Per abilitare le API Cloud per un progetto utilizzando i dettagli dell'API, segui questi passaggi:

  1. Nella visualizzazione dei dettagli dell'API Cloud, seleziona un progetto Google Cloud per cui vuoi attivare l'API Cloud.

  2. Fai clic su Abilita API.

    Quando l'API è abilitata, viene visualizzato un messaggio di conferma della modifica.

Aggiungi le librerie client di Cloud

Per aggiungere librerie al progetto in IntelliJ:

Per i progetti Maven Java

  1. Vai a Strumenti > Google Cloud Code > API cloud.
  2. La sezione Installa libreria client nella finestra di dialogo Gestisci le API Google Cloud mostra le librerie supportate.

  3. Seleziona il tipo di libreria che preferisci come Libreria client Google Cloud (consigliata per la maggior parte dei progetti) o Java Spring Google Cloud (consigliata se il progetto utilizza Java Spring).
  4. Segui le restanti istruzioni nella sezione Installa libreria client nell'IDE, se applicabile.
  5. Al termine, fai clic su Chiudi.

Per tutti gli altri progetti

  1. Vai a Strumenti > Google Cloud Code > API Cloud.
  2. La sezione Installa libreria client nella finestra di dialogo Gestisci le API Google Cloud mostra le librerie supportate.

  3. Per installare l'API, segui le istruzioni di installazione riportate nella pagina dei dettagli dell'API per la tua lingua preferita.

    Se stai sviluppando un'applicazione Java, devi anche specificare la preferenza della libreria come Libreria client Google Cloud (opzione consigliata) o Java Spring Google Cloud.

  4. Al termine, fai clic su Chiudi.

Utilizzare gli esempi di codice API

Per cercare ed eseguire esempi di codice per ogni API nell'esploratore API, segui questi passaggi:

  1. Vai a Strumenti > Google Cloud Code > API cloud.

  2. Per aprire la visualizzazione dei dettagli, fai clic sul nome di un'API.

  3. Per visualizzare gli esempi di codice per l'API, fai clic sulla scheda Esempi di codice.

  4. Per filtrare l'elenco di esempi, digita il testo da cercare o seleziona un linguaggio di programmazione dal menu a discesa Lingua.

Configura l'autenticazione

Dopo aver attivato le API richieste e aggiunto le librerie client necessarie, devi configurare l'applicazione affinché venga autenticata correttamente. La configurazione dipende dal tipo di sviluppo e dalla piattaforma su cui esegui l'operazione.

Una volta completati i passaggi di autenticazione pertinenti, l'applicazione può autenticarsi ed è pronta per essere implementata.

Sviluppo locale

Macchina locale

Cloud Code assicura che le credenziali predefinite per l'applicazione (ADC) siano impostate se hai eseguito l'accesso a Google Cloud tramite l'IDE. Se non accedi con Cloud Code, esegui gcloud auth application-default login manualmente.

minikube

  1. Cloud Code assicura che le credenziali predefinite per l'applicazione (ADC) siano impostate se hai eseguito l'accesso a Google Cloud tramite l'IDE. Se non accedi con Cloud Code, esegui gcloud auth application-default login manualmente.
  2. Avvia minikube con minikube start --addons gcp-auth. In questo modo, il tuo ADC viene montato nei pod. Per una guida dettagliata all'autenticazione di minikube per Google Cloud, consulta la documentazione di minikube gcp-auth.

Altri cluster K8s locali

  1. Cloud Code assicura che le credenziali predefinite per l'applicazione (ADC) siano impostate se hai eseguito l'accesso a Google Cloud tramite l'IDE. Se non accedi con Cloud Code, esegui gcloud auth application-default login manualmente.
  2. Monta la directory gcloud locale nei pod Kubernetes modificando la specifica del pod nei manifest del pod o del deployment, in modo che le librerie client Google Cloud possano trovare le tue credenziali. Esempio di configurazione del pod Kubernetes:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

Cloud Code assicura che le credenziali predefinite per l'applicazione (ADC) siano impostate se hai eseguito l'accesso a Google Cloud tramite l'IDE. Se non accedi con Cloud Code, esegui gcloud auth application-default login manualmente.

Sviluppo remoto

Google Kubernetes Engine


A seconda dell'ambito del progetto, puoi scegliere come autenticare i servizi Google Cloud su GKE:
  • (Solo per lo sviluppo)
    1. Crea un cluster GKE con le seguenti impostazioni:
      • Assicurati di utilizzare l'account di servizio predefinito di GKE, ovvero l'account di servizio predefinito di Compute Engine, e che Ambiti di accesso sia impostato su Consenti l'accesso completo a tutte le API Cloud (entrambe le impostazioni sono accessibili nella sezione Pool di nodi > Sicurezza).
        Poiché l'account di servizio Compute Engine è condiviso da tutti i carichi di lavoro di cui è stato eseguito il deployment sul tuo nodo, questo metodo esegue il provisioning eccessivo delle autorizzazioni e deve essere utilizzato solo per lo sviluppo.
      • Assicurati che Workload Identity non sia abilitato nel cluster (nella sezione Cluster > Sicurezza).
    2. Assegna i ruoli necessari all'account di servizio predefinito di Compute Engine:
  • (consigliato per la produzione)
    1. Configura il cluster e l'applicazione GKE con Workload Identity per autenticare i servizi Google Cloud su GKE. In questo modo, il tuo account di servizio Kubernetes viene associato al tuo account di servizio Google.
    2. Configura il deployment Kubernetes in modo che faccia riferimento al service account Kubernetes impostando il campo .spec.serviceAccountName nel file YAML del deployment Kubernetes.
      Se stai lavorando a un'app creata da un modello Cloud Code, questo file si trova nella cartella kubernetes-manifests.
    3. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, assegnali all'account di servizio Google che utilizzi per sviluppare la tua app:

Cloud Run


  1. Per creare un nuovo account di servizio univoco per il deployment dell'applicazione Cloud Run, nella pagina Account di servizio seleziona il progetto in cui è archiviato il secret.

    Vai alla pagina Account di servizio

  2. Fai clic su Crea account di servizio.
  3. Nella finestra di dialogo Crea account di servizio, inserisci un nome descrittivo per l'account di servizio.
  4. Modifica l'ID account di servizio in un valore univoco e riconoscibile, quindi fai clic su Crea.
  5. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, concedili, fai clic su Continua e poi su Fine.
  6. Per aggiungere l'account di servizio Kubernetes alla configurazione di deployment, vai a Esegui > Modifica configurazioni, quindi specifica l'account di servizio nel campo Nome servizio.

Cloud Run


A seconda dell'ambito del progetto, puoi scegliere come autenticare i servizi Google Cloud su GKE:
  • (Solo per lo sviluppo)
    1. Crea un cluster GKE con le seguenti impostazioni:
      • Assicurati di utilizzare l'account di servizio predefinito di GKE, ovvero l'account di servizio predefinito di Compute Engine, e che Ambiti di accesso sia impostato su Consenti l'accesso completo a tutte le API Cloud (entrambe le impostazioni sono accessibili nella sezione Pool di nodi > Sicurezza).
        Poiché l'account di servizio Compute Engine è condiviso da tutti i carichi di lavoro di cui è stato eseguito il deployment sul tuo nodo, questo metodo esegue il provisioning eccessivo delle autorizzazioni e deve essere utilizzato solo per lo sviluppo.
      • Assicurati che Workload Identity non sia abilitato nel cluster (nella sezione Cluster > Sicurezza).
    2. Assegna i ruoli necessari all'account di servizio predefinito di Compute Engine:
  • (consigliato per la produzione)
    1. Configura il cluster e l'applicazione GKE con Workload Identity per autenticare i servizi Google Cloud su GKE. In questo modo, il tuo account di servizio Kubernetes viene associato al tuo account di servizio Google.
    2. Per aggiungere l'account di servizio Kubernetes alla configurazione di deployment, vai a Esegui > Modifica configurazioni e specifica l'account di servizio Kubernetes nel campo Nome servizio.
    3. Se il servizio Google Cloud a cui stai tentando di accedere richiede ruoli aggiuntivi, assegnali all'account di servizio Google che utilizzi per sviluppare la tua app:

Sviluppo remoto con le autorizzazioni di Secret Manager abilitate

Se esegui lo sviluppo in remoto, utilizzando un account di servizio per l'autenticazione e la tua applicazione utilizza i secret, devi completare alcuni passaggi aggiuntivi oltre alle istruzioni per lo sviluppo remoto. Questi passaggi assegnano al tuo account di servizio Google il ruolo richiesto per accedere a un determinato secret di Secret Manager:

  1. Per aprire la finestra dello strumento Secret Manager, vai a Strumenti > Codice Google Cloud > Secret Manager.

  2. Seleziona il secret a cui vuoi accedere nel codice.

  3. Fai clic sulla scheda Autorizzazioni e poi configura le autorizzazioni del segreto facendo clic su Modifica Modifica autorizzazione.

    Scheda Autorizzazioni selezionata in Secret Manager e icona Modifica autorizzazioni evidenziata

    La console Google Cloud si apre in una nuova finestra del browser web e mostra la pagina di configurazione di Secret Manager del segreto.

  4. Nella console Google Cloud, fai clic sulla scheda Autorizzazioni e poi su Concedi accesso.

  5. Nel campo Nuove entità, inserisci il tuo account di servizio.

  6. Nel campo del menu a discesa Seleziona un ruolo, seleziona il ruolo Accesso ai segreti di Secret Manager.

  7. Al termine, fai clic su Salva.

    L'account di servizio dispone dell'autorizzazione per accedere a questo secret.

Assistenza

Per inviare un feedback o segnalare un problema nell'IDE IntelliJ, vai a Strumenti > Cloud Code > Guida / Informazioni > Invia feedback o segnala un problema per segnalare un problema su GitHub.