Cloud-Clientbibliotheken in Cloud Code verwenden

Auf dieser Seite wird beschrieben, wie Sie schnell mit Cloud-Clientbibliotheken und Cloud Code loslegen können. Sie richten eine neue Kubernetes-Anwendung mit einer Hello World-Beispielanwendung ein und aktualisieren die Anwendung dann so, dass die Cloud Translation API verwendet wird, um die Antwort ins Spanische zu übersetzen.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Google Kubernetes Engine and Cloud Translation APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine and Cloud Translation APIs.

    Enable the APIs

  8. Installieren Sie Git, damit Cloud Code Git-Vorgänge wie das Klonen eines Beispiels ausführen kann.
  9. Installieren Sie das Cloud Code-Plug-in, falls noch nicht geschehen.

Anwendung erstellen

  1. Führen Sie in der Befehlspalette (Cmd/Ctrl+Shift+P) Cloud Code: Neue Anwendung aus, wählen Sie Kubernetes-Anwendung aus und wählen Sie dann eine Hello World-App in der gewünschten Sprache aus. Wenn Sie beispielsweise Node.js: Hello World auswählen, wird eine Hello World-Startanwendung in Node.js erstellt.
  2. Speichern Sie die neue Anwendung. In einer Benachrichtigung wird bestätigt, dass die Anwendung erstellt wurde, und die Anwendung wird in einem neuen Fenster geöffnet.

Anmeldedaten einrichten

  1. Klicken Sie auf Terminal > Neues Terminal, um ein Terminal zu öffnen.

  2. Erstellen Sie ein Dienstkonto zur Authentifizierung Ihrer API-Anfragen:

    gcloud iam service-accounts create \
    translation-quickstart \
    --project PROJECT_ID
  3. Weisen Sie dem Dienstkonto die Rolle „Cloud Translation API-Nutzer“ zu:

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:translation-quickstart@PROJECT_ID.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Erstellen Sie einen Dienstkontoschlüssel:

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    translation-quickstart@PROJECT_ID.iam.gserviceaccount.com
  5. Legen Sie den Schlüssel als Standardanmeldedaten fest:

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    

Cloud Translation API aus Ihrer Anwendung aufrufen

Go

  1. Installieren Sie die Cloud-Clientbibliotheken für die Cloud Translation API:

    1. Klicken Sie auf Terminal > Neues Terminal, um ein Terminal zu öffnen.
    2. Führen Sie dazu diesen Befehl aus:

      go get cloud.google.com/go/translate/apiv3
      
  2. Erstellen Sie eine app.go-Datei.

  3. Öffnen Sie app.go und fügen Sie den Paketnamen, die Importe und das Grundgerüst der Anwendung hinzu:

    package main
    
    import (
      "context"
      "fmt"
    
      translate "cloud.google.com/go/translate/apiv3"
      translatepb "google.golang.org/genproto/googleapis/cloud/translate/v3"
    )
    
    func translateText(w io.Writer, projectID string, sourceLang string, targetLang string, text string) error {
    
    }
    
    func main() {
    
    }
    
  4. Fügen Sie in Ihrer translateText()-Funktion den folgenden Code hinzu, der den angegebenen Text übersetzt. Wählen Sie Datei > Speichern aus, um den Code neu zu formatieren:

    ctx := context.Background()
    client, err := translate.NewTranslationClient(ctx)
    if err != nil {
      return fmt.Errorf("NewTranslationClient: %v", err)
    }
    defer client.Close()
    
    req := &translatepb.TranslateTextRequest{
      Parent:             fmt.Sprintf("projects/%s/locations/global", projectID),
      SourceLanguageCode: sourceLang,
      TargetLanguageCode: targetLang,
      MimeType:           "text/plain", // Mime types: "text/plain", "text/html"
      Contents:           []string{text},
    }
    
    resp, err := client.TranslateText(ctx, req)
    if err != nil {
      return fmt.Errorf("TranslateText: %v", err)
    }
    
    // Display the translation for each input text provided
    for _, translation := range resp.GetTranslations() {
      fmt.Fprintf(w, "Translated text: %v\n", translation.GetTranslatedText())
    }
    
    return nil
    
  5. Rufen Sie in Ihrer main()-Funktion translateText() auf. Die folgenden Parameterwerte übersetzen die englische Sprache ins Spanische:

    projectID := "<var>PROJECT_ID</var>"
    sourceLang := "en-US"
    targetLang := "es"
    text := "Text to translate"
    
    err := translateText(os.Stdout, projectID, sourceLang, targetLang, text)
    if err != nil {
      fmt.Print(err)
    }
    
  6. Führen Sie die Anwendung über das Terminal aus.

    go run app.go
    

Java

  1. Öffnen Sie pom.xml und fügen Sie den folgenden Code-Snippet in den Abschnitt dependencies ein:

    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-translate</artifactId>
      </dependency>
    </dependencies>
    
  2. Fügen Sie dann in der Datei pom.xml das folgende Code-Snippet in den Abschnitt dependencyManagement ein:

    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>26.39.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
    

    Achten Sie darauf, dass Sie die aktuelle Version von Google Cloud Supported Libraries verwenden. Eine Liste der Versionen finden Sie unter Google Cloud Unterstützte Bibliotheken.

  3. Wenn Sie gefragt werden, ob Sie den Java-Klassenpfad bzw. die Java-Konfiguration synchronisieren möchten, klicken Sie auf Immer.

  4. Erstellen Sie eine Datei mit dem Namen app.java.

  5. Fügen Sie inapp.javanach der Paketdefinition die folgenden Importe ein:

    import com.google.cloud.translate.v3.LocationName;
    import com.google.cloud.translate.v3.TranslateTextRequest;
    import com.google.cloud.translate.v3.TranslateTextResponse;
    import com.google.cloud.translate.v3.Translation;
    import com.google.cloud.translate.v3.TranslationServiceClient;
    import java.io.IOException;
    
  6. Fügen Sie die Methode translateText() in die Klasse App ein. Diese Methode legt Variablen fest und übergibt sie an eine überlastete translateText()-Methode. Die folgenden Parameterwerte übersetzen die englische Sprache ins Spanische:

    public static void translateText() throws IOException {
      String projectId = "<walkthrough-project-id/>";
      String targetLanguage = "es";
      String text = "Hello world!";
      translateText(projectId, targetLanguage, text);
    }
    
  7. Fügen Sie eine überlastete translateText()-Methode hinzu. Bei dieser Methode wird Text in die Zielsprache übersetzt.

    public static void translateText(String projectId, String targetLanguage, String text)
      throws IOException {
    
      try (TranslationServiceClient client = TranslationServiceClient.create()) {
        LocationName parent = LocationName.of(projectId, "global");
    
        TranslateTextRequest request =
          TranslateTextRequest.newBuilder()
          .setParent(parent.toString())
          .setMimeType("text/plain")
          .setTargetLanguageCode(targetLanguage)
          .addContents(text)
          .build();
    
        TranslateTextResponse response = client.translateText(request);
    
        // Display the translation for each input text provided
        for (Translation translation : response.getTranslationsList()) {
          System.out.printf("Translated text: %s\n", translation.getTranslatedText());
        }
      }
    }
    
  8. Ersetzen Sie die Druckanweisung in Ihrem main durch einen Aufruf von translateText():

    try {
      translateText();
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    

Node.js

  1. Installieren Sie die Cloud-Clientbibliotheken für die Cloud Translation API:

    1. Klicken Sie auf Cloud Code und maximieren Sie den Cloud APIs Explorer.
    2. Maximieren Sie Cloud AI und klicken Sie dann auf Cloud Translation API.
    3. Klicken Sie zum Installieren der Clientbibliothek auf NodeJS und dann auf play_arrow Im Terminal ausführen.
  2. Erstellen Sie in Ihrem Projekt eine app.js-Datei.

  3. Öffnen Sieapp.jsund importieren Sie die Translation-Clientbibliothek am Anfang der Datei:

    const {TranslationServiceClient} = require('@google-cloud/translate');
    
  4. Erstellen Sie einen Translation API-Client und fügen Sie Variablen für Ihre Projekt-ID, Ihren Standort und den zu übersetzenden Text hinzu:

    // Instantiates a client
    const translationClient = new TranslationServiceClient();
    
    const projectId = 'PROJECT_ID';
    const location = 'global';
    const text = 'Hello, world!';
    
  5. Fügen Sie die folgende async-Funktion hinzu, die die Sprache Ihres Hello, world!-Texts erkennt und den Text ins Spanische übersetzt:

    async function translateText() {
        // Construct request
        const request = {
            parent: `projects/PROJECT_ID/locations/LOCATION`,
            contents: [text],
            mimeType: 'text/plain', // mime types: text/plain, text/html
            sourceLanguageCode: 'en',
            targetLanguageCode: 'es',
        };
    
        // Run request
        const [response] = await translationClient.translateText(request);
    
        for (const translation of response.translations) {
            console.log(`Translation: ${translation.translatedText}`);
        }
    }
    
  6. Rufen Sie am Ende der Datei app.js translateText() auf:

    translateText();
    
  7. Öffnen Sie zum Ausführen Ihrer Anwendung die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P) und führen Sie dann Cloud Code: Auf Kubernetes ausführen aus.

  8. Nach der Bereitstellung der Anwendung können Sie den ausgeführten Dienst anzeigen, indem Sie die in der Webansicht angezeigte URL öffnen.

Python

  1. Installieren Sie die Cloud-Clientbibliotheken für die Cloud Translation API:

    1. Klicken Sie auf Cloud Code und maximieren Sie den Cloud APIs Explorer.
    2. Maximieren Sie Cloud AI und klicken Sie dann auf Cloud Translation API.
    3. Klicken Sie zum Installieren der Clientbibliothek auf Python und dann auf play_arrow Im Terminal ausführen.
      Hinweis: Wenn Sie ein Linux-basiertes Betriebssystem verwenden, einschließlich Chromebook, ändern Sie den Befehl so, dass pip3 anstelle von pip verwendet wird. Wenn Sie einen Mac verwenden, ändern Sie den Befehl so, dass pip3 verwendet wird, und fügen Sie das Flag --user hinzu.
  2. Erstellen Sie in Ihrem Projekt eine app.py-Datei.

  3. Importieren Sie in app.py die Clientbibliothek am Anfang der Datei:

    from google.cloud import translate
    
  4. Fügen Sie die Funktion translate_text hinzu. Dadurch wird ein Client für die Interaktion mit der Cloud Translation API initialisiert.

    def translate_text(text="Hello, world!", project_id="PROJECT_ID"):
    
    client = translate.TranslationServiceClient()
    location = "global"
    parent = "projects/PROJECT_ID/locations/LOCATION"
    
  5. Wenn Sie Text von Englisch ins Spanische übersetzen und das Ergebnis ausgeben möchten, fügen Sie in der Funktion translate_text den folgenden Aufruf der Cloud Translation API-Cloud-Clientbibliotheken hinzu:

       response = client.translate_text(
        request={
            "parent": parent,
            "contents": [text],
            "mime_type": "text/plain",
            "source_language_code": "en-US",
            "target_language_code": "es",
        }
    )
    
    for translation in response.translations:
        print("Translated text: {}".format(translation.translated_text))
    
  6. Rufen Sie am Ende von app.py translate_text() auf.

    translate_text()
  7. Öffnen Sie zum Ausführen Ihrer Anwendung die Befehlspalette (drücken Sie Ctrl/Cmd + Shift + P) und führen Sie dann Cloud Code: Auf Kubernetes ausführen aus.

  8. Nach der Bereitstellung der Anwendung können Sie den ausgeführten Dienst anzeigen, indem Sie die in der Webansicht angezeigte URL öffnen.

Bereinigen

Nachdem Sie Ihre Anwendung beendet haben, werden alle während der Ausführung bereitgestellten Kubernetes-Ressourcen automatisch gelöscht.

Damit Ihr Konto nicht für andere in dieser Kurzanleitung verwendete Ressourcen belastet wird, müssen Sie das Projekt oder den von Ihnen erstellten Cluster löschen, wenn Sie das Projekt wiederverwenden möchten.

So löschen Sie den Cluster:

  1. Bewegen Sie den Mauszeiger im Kubernetes Explorer auf den Clusternamen und klicken Sie dann auf open_in_new In der Google Cloud -Konsole öffnen.
  2. Klicken Sie auf Löschen und dann noch einmal auf Löschen.

So löschen Sie Ihr Projekt und die zugehörigen Ressourcen, einschließlich der Cluster:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Support anfragen

Wenn Sie uns Feedback geben möchten, können Sie Probleme auf GitHub melden oder eine Frage in Stack Overflow stellen.

Nächste Schritte