Cloud APIs und Bibliotheken in Cloud Code for IntelliJ verwalten

Mithilfe von Cloud APIs können Sie direkt aus Ihrem Code auf Google Cloud-Produkte und -Dienste zugreifen. Diese Cloud APIs bieten eine einfache JSON-REST-Schnittstelle, die Sie über Clientbibliotheken aufrufen können.

In diesem Dokument wird beschrieben, wie Sie Cloud APIs aktivieren und Cloud-Clientbibliotheken zu Ihrem Projekt hinzufügen.

Cloud APIs finden

So finden Sie alle verfügbaren Google Cloud APIs in Ihrer IDE:

  1. Wählen Sie im Menü Tools die Option Cloud Code > Cloud APIs aus.
  2. Maximieren Sie den Explorer-Baum der Google Cloud APIs, um alle verfügbaren APIs ansehen zu können. Der Explorer gruppiert Cloud APIs nach Kategorie. Über die Suchleiste für Search APIs können Sie auch nach einer bestimmten API suchen.
  3. Screenshot von der Liste der Cloud APIs, die im Explorer der Baumansicht angezeigt wird
  4. Klicken Sie auf eine API, um weitere Details wie Status, sprachspezifische Installationshinweise für die entsprechenden Clientbibliotheken und die zugehörige Dokumentation anzeigen zu lassen.

Cloud APIs aktivieren

So aktivieren Sie Cloud APIs für ein Projekt schnell mit den API-Details:

  1. Wählen Sie in der Detailansicht der Cloud API das Google Cloud-Projekt aus, für das Sie die Cloud API aktivieren möchten.
  2. Klicken Sie auf API aktivieren.

    Sobald die API aktiviert wurde, wird eine Meldung mit einer Bestätigung der Änderung angezeigt.

Cloud-Clientbibliotheken hinzufügen

So fügen Sie Bibliotheken zu Ihrem Projekt in IntelliJ hinzu:

Für Java Maven-Projekte

  1. Wählen Sie im Menü Tools die Option Cloud Code > Cloud APIs aus.
  2. Im Dialogfeld Add Google Cloud libraries werden die unterstützten Bibliotheken angezeigt.

    Screenshot vom Dialogfeld "Cloud APIs verwalten". In diesem Dialogfeld können Sie ein Modul auswählen, dem die Bibliotheken hinzugefügt werden sollen, die Liste der verfügbaren APIs anzeigen und einen Arbeitsbereich mit Informationen zu jeder API bereitstellen.
  3. Wählen Sie Ihren bevorzugten Bibliothekstyp aus der Google Cloud-Clientbibliothek (empfohlen für die meisten Projekte) oder Java Spring Google Cloud (empfohlen, wenn Ihr Projekt Java Spring verwendet) aus.
  4. Wählen Sie im Drop-down-Menü Modul das Modul aus, dem Sie die Bibliothek hinzufügen möchten.
  5. Klicken Sie auf Maven-Abhängigkeit hinzufügen, um Ihrem Projekt die BOM und eine Clientbibliothek hinzuzufügen.

Für alle anderen Projekte

  1. Wählen Sie im Menü Tools die Option Cloud Code > Cloud APIs aus.
  2. Im Dialogfeld Add Google Cloud libraries werden die unterstützten Bibliotheken angezeigt.

    Screenshot vom Dialogfeld "Cloud APIs verwalten".
                      Dieses Dialogfeld enthält die Liste der APIs, die hinzugefügt werden können. Außerdem enthält es einen Arbeitsbereich mit Informationen über die API.
  3. Installieren Sie die API gemäß der Installationsanleitung auf der Seite der API-Details für Ihre bevorzugte Sprache.

API-Beispiele verwenden

So suchen und verwenden Sie Codebeispiele für jede API im API Explorer:

  1. Wählen Sie im Menü Tools die Option Cloud Code > Cloud APIs aus.

  2. Klicken Sie zum Öffnen der Detailansicht auf den Namen einer API.

  3. Klicken Sie auf den Tab Codebeispiele, um Codebeispiele für die API aufzurufen.

  4. Wenn Sie die Liste der Beispiele filtern möchten, geben Sie Text für die Suche ein oder wählen Sie im Drop-down-Menü Sprache eine Programmiersprache aus.

Authentifizierung einrichten

Nachdem Sie die erforderlichen APIs aktiviert und die erforderlichen Clientbibliotheken hinzugefügt haben, müssen Sie Ihre Anwendung für die Authentifizierung konfigurieren. Ihre Konfiguration hängt von Ihrer Art der Entwicklung und der Plattform ab, auf der Sie arbeiten.

Nachdem Sie die erforderlichen Authentifizierungsschritte abgeschlossen haben, kann sich Ihre Anwendung authentifizieren und bereitgestellt werden.

Lokale Entwicklung

Lokaler Rechner

Cloud Code sorgt dafür, dass Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben. Wenn Sie sich nicht mit Cloud Code anmelden, führen Sie gcloud auth application-default login manuell aus.

minikube

  1. Cloud Code sorgt dafür, dass Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben. Wenn Sie sich nicht mit Cloud Code anmelden, führen Sie gcloud auth application-default login manuell aus.
  2. Starten Sie minikube mit minikube start --addons gcp-auth. Dadurch werden Ihre ADC in Ihren Pods bereitgestellt. Eine detaillierte minikube-Authentifizierungsanleitung für Google Cloud finden Sie in der minikube gcp-auth-Dokumentation.

Andere lokale K8s-Cluster

  1. Cloud Code sorgt dafür, dass Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben. Wenn Sie sich nicht mit Cloud Code anmelden, führen Sie gcloud auth application-default login manuell aus.
  2. Stellen Sie das lokale Verzeichnis gcloud in Ihren Kubernetes-Pods bereit. Bearbeiten Sie dazu die Pod-Spezifikation in den Pod- oder Deployment-Manifesten, damit die Google Cloud-Clientbibliotheken Ihre Anmeldedaten finden können. Beispiel für eine Kubernetes-Pod-Konfiguration:
    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 sorgt dafür, dass Ihre Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) festgelegt sind, wenn Sie sich über Ihre IDE bei Google Cloud angemeldet haben. Wenn Sie sich nicht mit Cloud Code anmelden, führen Sie gcloud auth application-default login manuell aus.

Remote-Entwicklung

Google Kubernetes Engine

Je nach Umfang des Projekts können Sie auswählen, wie die Google Cloud-Dienste in GKE authentifiziert werden:

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das Dienstkonto verwenden, das GKE standardmäßig verwendet, das Compute Engine-Standarddienstkonto, und dass für Zugriffsbereiche die Einstellung Uneingeschränkten Zugriff auf alle Cloud APIs erlauben (beide Einstellungen im Abschnitt Knotenpools > Sicherheit verfügbar) eingestellt ist.
        Da das Compute Engine-Dienstkonto von allen auf Ihrem Knoten bereitgestellten Arbeitslasten gemeinsam genutzt wird, überdimensioniert diese Methode die Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity in Ihrem Cluster nicht aktiviert ist. Dies geschieht unter Cluster > Sicherheit.
    2. Weisen Sie dem Compute Engine-Standarddienstkonto die erforderlichen Rollen zu:
      • Wenn Sie auf ein Secret zugreifen möchten, folgen Sie den Schritten für Secret Manager, um die erforderlichen Rollen für Ihr Dienstkonto einzurichten.
      • Wenn das Compute Engine-Standarddienstkonto verwendet wird, werden möglicherweise bereits die richtigen IAM-Rollen angewendet.
      • Eine Liste der IAM-Rollentypen und vordefinierten Rollen, die Sie Identitäten zuweisen können, finden Sie in der Anleitung zu Rollen.

        Die Schritte zum Zuweisen der Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

  • (Empfohlen für die Produktion)
    1. Konfigurieren Sie Ihren GKE-Cluster und Ihre Anwendung mit Workload Identity, um Google Cloud-Dienste in GKE zu authentifizieren. Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Konfigurieren Sie Ihre Kubernetes-Bereitstellung so, dass sie auf das Kubernetes-Dienstkonto verweist. Legen Sie dazu das Feld .spec.serviceAccountName in der YAML-Datei Ihrer Kubernetes-Bereitstellung fest.
      Wenn Sie an einer Anwendung arbeiten, die mit einer Cloud Code-Vorlage erstellt wurde, befindet sich diese Datei im Ordner „kubernetes-manifests“.
    3. Wenn für den Google Cloud-Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen erforderlich sind, weisen Sie diesen für das Google-Dienstkonto zu, das Sie zum Entwickeln Ihrer Anwendung verwenden:

Cloud Run

  1. Wenn Sie ein neues eindeutiges Dienstkonto für die Bereitstellung Ihrer Cloud Run-Anwendung erstellen möchten, wählen Sie auf der Seite "Dienstkonten" das Projekt aus, in dem Ihr Secret gespeichert ist.

    Zur Seite „Dienstkonten“

  2. Klicken Sie auf Dienstkonto erstellen.
  3. Geben Sie in das Dialogfeld Dienstkonto erstellen einen aussagekräftigen Namen für das Dienstkonto ein.
  4. Ändern Sie die Dienstkonto-ID in einen eindeutigen, erkennbaren Wert und klicken Sie dann auf Erstellen.
  5. Wenn der Google Cloud-Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen benötigt, gewähren Sie diese. Klicken Sie auf Weiter und dann auf Fertig.
  6. Rufen Sie die Ausführungskonfiguration für Cloud Run: Deploy auf, erweitern Sie den Abschnitt Erweiterte Überarbeitungseinstellungen und fügen Sie das Kubernetes-Dienstkonto Ihrer Bereitstellungskonfiguration hinzu. Geben Sie Ihr Dienstkonto im Feld Dienstkonto an.
    Der Abschnitt Erweiterte Revisionseinstellungen wurde in Cloud Run erweitert: Bereitstellungs- und Dienstkontofeld mit Dienstkontoname ausgefüllt im Format service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Je nach Umfang des Projekts können Sie auswählen, wie die Google Cloud-Dienste in GKE authentifiziert werden:

  • (Nur Entwicklung)
    1. Erstellen Sie einen GKE-Cluster mit den folgenden Einstellungen:
      • Achten Sie darauf, dass Sie das Dienstkonto verwenden, das GKE standardmäßig verwendet, das Compute Engine-Standarddienstkonto, und dass für Zugriffsbereiche die Einstellung Uneingeschränkten Zugriff auf alle Cloud APIs erlauben (beide Einstellungen im Abschnitt Knotenpools > Sicherheit verfügbar) eingestellt ist.
        Da das Compute Engine-Dienstkonto von allen auf Ihrem Knoten bereitgestellten Arbeitslasten gemeinsam genutzt wird, überdimensioniert diese Methode die Berechtigungen und sollte nur für die Entwicklung verwendet werden.
      • Achten Sie darauf, dass Workload Identity in Ihrem Cluster nicht aktiviert ist. Dies geschieht unter Cluster > Sicherheit.
    2. Weisen Sie dem Compute Engine-Standarddienstkonto die erforderlichen Rollen zu:
      • Wenn Sie auf ein Secret zugreifen möchten, folgen Sie den Schritten für Secret Manager, um die erforderlichen Rollen für Ihr Dienstkonto einzurichten.
      • Wenn das Compute Engine-Standarddienstkonto verwendet wird, werden möglicherweise bereits die richtigen IAM-Rollen angewendet.
      • Eine Liste der IAM-Rollentypen und vordefinierten Rollen, die Sie Identitäten zuweisen können, finden Sie in der Anleitung zu Rollen.

        Die Schritte zum Zuweisen der Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

  • (Empfohlen für die Produktion)
    1. Konfigurieren Sie Ihren GKE-Cluster und Ihre Anwendung mit Workload Identity, um Google Cloud-Dienste in GKE zu authentifizieren. Dadurch wird Ihr Kubernetes-Dienstkonto mit Ihrem Google-Dienstkonto verknüpft.
    2. Rufen Sie die Ausführungskonfiguration für Cloud Run:Deploy auf, erweitern Sie den Abschnitt Erweiterte Überarbeitungseinstellungen, um Ihr Kubernetes-Dienstkonto Ihrer Bereitstellungskonfiguration hinzuzufügen und geben Sie dann Ihr Kubernetes-Dienstkonto im Feld Service Account an.
      Der Abschnitt Erweiterte Revisionseinstellungen wurde in Cloud Run erweitert: Bereitstellungs- und Dienstkontofeld mit Kubernetes-Dienstkontoname
    3. Wenn für den Google Cloud-Dienst, auf den Sie zugreifen möchten, zusätzliche Rollen erforderlich sind, weisen Sie diesen für das Google-Dienstkonto zu, das Sie zum Entwickeln Ihrer Anwendung verwenden:

Remote-Entwicklung mit aktivierten Secret Manager-Berechtigungen

Wenn Sie aus der Ferne entwickeln, ein Dienstkonto zur Authentifizierung verwenden und Ihre Anwendung Secrets verwendet, müssen Sie zusätzlich zur Anleitung für die Remote-Entwicklung noch ein paar weitere Schritte ausführen. Durch diese Schritte wird Ihrem Google-Dienstkonto die Rolle zugewiesen, die für den Zugriff auf ein bestimmtes Secret Manager-Secret erforderlich ist:

  1. Öffnen Sie das Feld Secret Manager durch Klicken auf den Tab Secret Manager in der rechten Seitenleiste von Cloud Code.

  2. Wählen Sie das Secret aus, auf das Sie im Code zugreifen möchten.

  3. Wechseln Sie zum Tab "Berechtigungen" und konfigurieren Sie dann die Berechtigungen Ihres Secrets, indem Sie auf Symbol "Bearbeiten" Berechtigung bearbeiten klicken. Die Konfigurationsseite von Secret Manager für das Secret wird in Ihrem Webbrowser geöffnet.

    Der Tab „Berechtigungen“ im Secret Manager wurde ausgewählt und das Symbol „Berechtigungen bearbeiten“ ist hervorgehoben

  4. Klicken Sie in der Google Cloud Console auf Infofeld ansehen und dann auf Hauptkonto hinzufügen.

  5. Weisen Sie Ihrem Dienstkonto die Rolle Secret Manager Secret Accessor zu.

    Ihr Dienstkonto hat die Berechtigung, auf dieses Secret zuzugreifen.

Support kontaktieren

So senden Sie Feedback oder melden ein Problem in Ihrer IntelliJ-IDE: Tools > Cloud Code > Hilfe / Info > Feedback geben oder Problem melden, um ein Problem auf GitHub zu melden oder stellen Sie eine Frage zu Stack Overflow.

Sie können auch dem Kanal #cloud-code beitreten, der Teil der Google Cloud-Slack-Community ist.