APIs über ein Google Cloud-Projekt aufrufen

1. Hinweis

In diesem Codelab erfahren Sie, wie Sie ein Google Cloud-Projekt erstellen und dann Google Cloud APIs aus diesem Projekt aufrufen.

Vorbereitung

  • Berechtigung zur Navigation in der Google Cloud Console.

Lerninhalte

  • Hier erfahren Sie, wie Sie ein Google Cloud-Projekt erstellen.
  • Rechnungskonto einrichten
  • So richten Sie Cloud Shell ein.
  • API aktivieren
  • Hier erfahren Sie, wie Sie eine API mit einem API-Schlüssel autorisieren.
  • API mit einem Dienstkonto autorisieren

Voraussetzungen

2. Einrichten

In diesem Abschnitt erfahren Sie, wie Sie ein Google Cloud-Projekt erstellen, ein Rechnungskonto einrichten und Cloud Shell einrichten.

Google Cloud-Projekt erstellen und Rechnungskonto einrichten

  1. Melden Sie sich in der Cloud Console an und wählen Sie ein Projekt aus oder erstellen Sie eines.

Google Cloud

Bereich „Neuer Projekt“

Im Bereich „Neuer Projekt“ sind die Felder „Projektname“, „Organisation“ und „Standort“ zu sehen.

Notieren Sie sich die Projekt-ID, die unter dem Feld Projektname angezeigt wird. Die ID ist ein eindeutiger Name in allen Google Cloud-Projekten (der Name oben ist bereits vergeben) und wird in diesem Codelab später als PROJECT_ID bezeichnet.

  1. Als Nächstes aktivieren Sie die Abrechnung in der Cloud Console, um Google Cloud-Ressourcen verwenden zu können.

Dieses Codelab sollte nicht teuer sein. Folgen Sie der Anleitung im Abschnitt Bereinigen, um Ressourcen zu beenden und Kosten zu vermeiden, die über dieses Codelab hinausgehen. Hinweis: Neue Google Cloud-Nutzer haben Anspruch auf das Probeabo mit 300$Guthaben.

Cloud Shell einrichten

In diesem Codelab verwenden Sie Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird. Cloud Shell ist eine Debian-basierte virtuelle Maschine, auf der alle erforderlichen Entwicklertools installiert sind. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Für dieses Codelab benötigen Sie also nur einen Browser.

So aktivieren Sie Cloud Shell über die Cloud Console:

  1. Klicken Sie auf a8460e837e9f5fda.png Cloud Shell aktivieren.

Es kann einen Moment dauern, bis die Umgebung bereitgestellt ist und eine Verbindung hergestellt werden kann.

Cloud Shell aktivieren.

Cloud Shell mit Befehlszeilen-Eingabeaufforderung

Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und dass das Projekt bereits auf Ihre PROJECT_ID eingestellt ist.

  1. Erstellen Sie eine Liste mit Konten mit Anmeldedaten:
gcloud auth list

Sie sollten die folgende Ausgabe sehen:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. Geben Sie den folgenden Befehl ein, um eine Liste Ihrer Projekte aufzurufen.
gcloud config list project

Sie sollten die folgende Ausgabe sehen:

[core]
project = <PROJECT_ID>

Sollte das Projekt aus irgendeinem Grund nicht eingerichtet sein, führen Sie diesen Befehl aus, um es einzurichten.

gcloud config set project <PROJECT_ID>

Die PROJECT_ID ist die ID, die Sie in den Einrichtungsschritten verwendet haben. Sie können sie auch im Dashboard der Cloud Console abrufen:

Projektinfobereich mit der Projekt-ID.

Cloud Shell legt außerdem standardmäßig einige Umgebungsvariablen fest, die bei der Ausführung zukünftiger Befehle hilfreich sein können.

  1. Geben Sie den folgenden Befehl ein, um Ihre Projekt-ID abzurufen.
echo $GOOGLE_CLOUD_PROJECT

Es sollte folgende Ausgabe angezeigt werden:

<PROJECT_ID>
  1. Legen Sie schließlich die Standardzone und die Projektkonfiguration fest.
gcloud config set compute/zone us-central1-f

Sie können verschiedene Zonen auswählen. Weitere Informationen finden Sie unter Regionen und Zonen.

3. API aus einem Projekt aufrufen

In diesem Codelab erfahren Sie, wie Sie mit einer Beispiel-API (der Natural Language API) Entitäten wie Personen, Orte und Ereignisse in Texten finden und die Stimmung (den Beliebtheitsgrad) dieses Textes schätzen können. Sie lernen:

  • Aktivieren Sie die Google Cloud APIs.
  • Rufen Sie mit API-Schlüsseln und Dienstkonten die Autorisierung für die API ab.
  • Rufen Sie die API mit curl und Clientbibliotheken auf.

API aktivieren

  1. Wählen Sie APIs und Dienste aus dem Hauptmenü der Cloud Console.

Hauptmenü der Cloud Console mit APIs und Dienste.

  1. Wählen Sie oben auf dem Bildschirm + APIS UND DIENSTE AKTIVIEREN aus.

APIS UND DIENSTE AKTIVIEREN.

  1. Jetzt können Sie APIs filtern und durchsuchen oder über das Suchfeld direkt zu einer API wechseln. Suchen Sie nach Natural Language und wählen Sie Cloud Natural Language API aus.

Cloud Natural Language API-Bereich mit den Schaltflächen AKTIVIEREN und TESTEN DIESER API.

  1. Klicken Sie auf DIESE API TESTEN.

Wenn die Schaltfläche DIESE API TESTEN nicht angezeigt wird, klicken Sie auf eine der aufgeführten Methoden, um diese Methode auszuprobieren.

API-Schlüssel erstellen

Da Sie curl verwenden, um eine Anfrage an die Natural Language API zu senden, müssen Sie einen API-Schlüssel generieren, um die Anfrage-URL zu übergeben.

  1. Klicken Sie in der Cloud Console auf das Navigationsmenü > APIs und Dienste > Anmeldedaten:

Navigationsmenü mit APIs und Optionen für Dienste und Anmeldedaten.

  1. Klicken Sie auf ANMELDEDATEN ERSTELLEN und wählen Sie dann API-Schlüssel aus:

Anmeldedatenbereich mit den Optionen „ANMELDEDATEN ERSTELLEN“ und „API-Schlüssel“.

  1. Kopieren Sie den generierten API-Schlüssel und klicken Sie dann auf Schließen.

API-Schlüssel mit dem API-Schlüssel aufrufen

  1. Exportieren Sie Ihren API-Schlüssel in die Cloud Shell-Befehlszeile.
export API_KEY=<YOUR_API_KEY>

Ersetzen Sie <YOUR_API_KEY> durch den zuvor generierten Schlüssel.

  1. Erstellen Sie im Cloud Shell-Editor oder mit einem Linux-Editor wie Vim oder Emacs eine Anfrage für die API. Weitere Informationen zu den Parametern finden Sie unter Method: document.analyzeEntities. Speichern Sie die Ausgabe in einer Datei mit dem Namen request.json:
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. Rufen Sie die API mit den Anfrageinformationen auf.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. Führen Sie den Befehl noch einmal aus, leiten Sie die Ausgabe in eine Datei um und prüfen Sie das Ergebnis. Die Details der Ausgabe der JSON-Datei finden Sie auch in der Methode: document.analyzeEntities.
  2. Wenn Sie den zu analysierenden Text in der Datei request.json ändern möchten, ersetzen Sie den Wert content durch einen Text Ihrer Wahl.

4. Mit einem Dienstkonto autorisieren

Dienstkonten werden häufig gegenüber API-Schlüsseln bevorzugt, da sie sowohl Authentifizierung als auch Autorisierung ermöglichen. Stellen Sie sich Dienstkonten als E-Mail-Adressen für Ihre Anwendung vor.

  1. Kehren Sie zum Abschnitt „Anmeldedaten“ der Seite APIs und Dienste.
  2. Wählen Sie Anmeldedaten erstellen aus, aber dieses Mal Dienstkonto.

Detailbereich des Dienstkontos.

  1. Geben Sie einen Dienstkontonamen an, der seinen Zweck beschreibt, z. B. „Natural Language Service Account“. Das System schlägt eine ID vor. Sie können auch eine Beschreibung hinzufügen. Wenn Sie mehr über Dienstkonten erfahren, gewähren Sie dem Dienstkonto Zugriff auf Projekte und gewähren Nutzern Zugriff auf das Dienstkonto. Klicken Sie vorerst einfach auf Fertig, um das Dienstkonto zu erstellen.
  2. Klicken Sie auf d489bd059474ae59.png, um ein Schlüsselpaar für das zu verwendende Dienstkonto zu erstellen.

Bereich „Dienstkonten“ mit einer Liste von Konten

Die Details Ihres Dienstkontos werden angezeigt.

Detailbereich des Dienstkontos mit Details zum Natural Language-Dienstkonto.

  1. Kopieren Sie die E-Mail-Adresse des Dienstkontos und kehren Sie zu Cloud Shell zurück.
  2. Erstellen Sie in Cloud Shell ein Schlüsselpaar für Ihr Dienstkonto und legen Sie eine Umgebungsvariable fest, die darauf verweist:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

Google Cloud verwendet diese Umgebungsvariable, um die Anmeldedaten zu finden, sodass sie nicht in den API-Aufruf einbezogen werden müssen.

  1. Sie können die API jetzt mit dem folgenden Befehl aufrufen:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

Das Ergebnis sollte dasselbe wie zuvor sein.

Viele APIs haben umfangreiche Clientbibliotheken, aus denen diese Details extrahiert werden können. Weitere Informationen zu Clientbibliotheken finden Sie unter Cloud-Clientbibliotheken. Sie können auch in der Dokumentation zu den von Ihnen verwendeten APIs nachlesen, welche Clientbibliotheken für sie verfügbar sind.

5. Bereinigen

Es ist nicht empfehlenswert, einen uneingeschränkten API-Schlüssel für Projekte zu verwenden. Sollte jemand Zugriff darauf erhalten, kann diese Person sie ohne weitere Authentifizierung verwenden.

So löschen Sie diesen API-Schlüssel:

  1. Klicken Sie auf f6b6844bf5688982.png. Navigationsmenü > APIs und Dienste > Anmeldedaten
  2. Wählen Sie unter API-Schlüssel den Schlüssel aus, den Sie löschen möchten, und klicken Sie dann auf 247adf2e1d1eae4b.pngLöschen.
  3. Sie müssen sich keine Sorgen machen, dass der private Schlüssel Ihres Dienstkontos ungeschützt ist. Wählen Sie dazu unter Dienstkonten das zu löschende Dienstkonto aus und klicken Sie auf 247adf2e1d1eae4b.pngLöschen.

6. Glückwunsch

Glückwunsch! Sie haben gelernt, ein Google Cloud-Projekt zu erstellen und eine API aus dem Projekt heraus aufzurufen.