Use as bibliotecas de cliente do Google Cloud no Cloud Code

Esta página mostra como começar rapidamente com as bibliotecas de cliente da nuvem e o Cloud Code. Vai configurar uma nova aplicação Kubernetes com uma aplicação de exemplo Hello World e, em seguida, atualizar a aplicação para usar a API Cloud Translation para traduzir a resposta para espanhol.

Antes de começar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Instale o Git para que o Cloud Code possa realizar operações Git, como clonar um exemplo.
  5. Instale o plug-in Cloud Code se ainda não o fez.

Crie uma aplicação

  1. Na paleta de comandos (Cmd/Ctrl+Shift+P), execute Cloud Code: New Application, escolha Kubernetes Application, e, em seguida, escolha uma app Hello World no idioma que preferir. Por exemplo, escolha Node.js: Hello World para criar uma app Node.js Hello World inicial.
  2. Guarde a nova aplicação. Uma notificação confirma que a candidatura foi criada e é aberta uma nova janela com a candidatura.

Configure credenciais

  1. Para abrir um terminal, clique em Terminal > Novo terminal.

  2. Crie uma conta de serviço para autenticar os seus pedidos de API:

    gcloud iam service-accounts create \
    translation-quickstart \
    --project PROJECT_ID
  3. Conceda à sua conta de serviço a função de utilizador da API Cloud Translation:

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:translation-quickstart@PROJECT_ID.s3ns.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Crie uma chave de conta de serviço:

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    translation-quickstart@PROJECT_ID.s3ns.iam.gserviceaccount.com
  5. Defina a chave como as suas credenciais predefinidas:

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    

Chame a Cloud Translation API a partir da sua aplicação

Go

  1. Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:

    1. Para abrir um terminal, clique em Terminal > Novo terminal.
    2. Execute o seguinte comando:

      go get cloud.google.com/go/translate/apiv3
      
  2. Crie um ficheiro app.go.

  3. Abra app.go e adicione o nome do pacote, as importações e a estrutura da app:

    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. Na função translateText(), adicione o seguinte código, que traduz o texto especificado. Selecione Ficheiro > Guardar para reformatar o código:

    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. Na função main(), chame translateText(). Os seguintes valores de parâmetros traduzem do inglês para espanhol:

    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. No terminal, execute a sua aplicação.

    go run app.go
    

Java

  1. Abra pom.xml e adicione o seguinte fragmento do código à secção dependencies:

    <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. Em seguida, no ficheiro pom.xml, adicione o seguinte fragmento do código à secção dependencyManagement:

    <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>
    

    Certifique-se de que está a usar a versão mais recente das Trusted Cloud by S3NS bibliotecas suportadas. Para ver uma lista de versões, consulte o artigo Trusted Cloud by S3NS Bibliotecas suportadas.

  3. Quando lhe for perguntado se quer sincronizar o classpath/configuração do Java, clique em Sempre.

  4. Cria um ficheiro com o nome app.java.

  5. Emapp.java, inclua as seguintes importações após a definição do pacote:

    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. Adicione o método translateText() à turma App. Este método define e transmite variáveis a um método translateText() sobrecarregado. Os seguintes valores traduzem inglês para espanhol:

    public static void translateText() throws IOException {
      String projectId = "<walkthrough-project-id/>";
      String targetLanguage = "es";
      String text = "Hello world!";
      translateText(projectId, targetLanguage, text);
    }
    
  7. Adicione um método translateText() sobrecarregado. Este método recebe texto e traduz para o idioma de destino.

    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. Substitua a declaração de impressão no seu main por uma chamada para translateText():

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

Node.js

  1. Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:

    1. Clique em Cloud Code e, de seguida, expanda o explorador APIs Google Cloud.
    2. Expanda IA na nuvem e, de seguida, clique em API Cloud Translation.
    3. Para instalar a biblioteca de cliente, clique em NodeJS e, de seguida, clique em play_arrow Executar no terminal.
  2. Crie um ficheiro app.js no seu projeto.

  3. Abraapp.js e importe a biblioteca de cliente de tradução no início do ficheiro:

    const {TranslationServiceClient} = require('@google-cloud/translate');
    
  4. Crie um cliente da API Translation e adicione variáveis para o ID do projeto, a localização e o texto que quer traduzir:

    // Instantiates a client
    const translationClient = new TranslationServiceClient();
    
    const projectId = 'PROJECT_ID';
    const location = 'global';
    const text = 'Hello, world!';
    
  5. Adicione a seguinte função async, que deteta o idioma do seu texto Hello, world! e traduz o texto para espanhol:

    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. No final do ficheiro app.js, ligue para translateText():

    translateText();
    
  7. Para executar a sua aplicação, abra a paleta de comandos (prima Ctrl/Cmd + Shift + P) e, em seguida, execute Cloud Code: Run on Kubernetes.

  8. Depois de a aplicação ser implementada, veja o serviço em execução abrindo o URL apresentado no WebView.

Python

  1. Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:

    1. Clique em Cloud Code e, de seguida, expanda o explorador APIs Google Cloud.
    2. Expanda IA na nuvem e, de seguida, clique em API Cloud Translation.
    3. Para instalar a biblioteca cliente, clique em Python e, de seguida, clique em play_arrow Executar no terminal.
      Nota: se estiver a usar um sistema operativo baseado em Linux, incluindo o Chromebook, revise o comando para usar pip3 em vez de pip. Se estiver a usar um Mac, reveja o comando para usar pip3 e adicione a flag --user.
  2. Crie um ficheiro app.py no seu projeto.

  3. Em app.py, importe a biblioteca de cliente no início do ficheiro:

    from google.cloud import translate
    
  4. Adicione a função translate_text. Isto inicializa um cliente para interagir com a API Cloud Translation.

    def translate_text(text="Hello, world!", project_id="PROJECT_ID"):
    
    client = translate.TranslationServiceClient()
    location = "global"
    parent = "projects/PROJECT_ID/locations/LOCATION"
    
  5. Para traduzir texto de inglês para espanhol e imprimir o resultado, na função translate_text, adicione a seguinte chamada às bibliotecas cliente da API Cloud Translation:

       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. No final de app.py, liga para translate_text().

    translate_text()
  7. Para executar a sua aplicação, abra a paleta de comandos (prima Ctrl/Cmd + Shift + P) e, em seguida, execute Cloud Code: Run on Kubernetes.

  8. Depois de a aplicação ser implementada, veja o serviço em execução abrindo o URL apresentado no WebView.

Limpar

Depois de parar a aplicação, todos os recursos do Kubernetes implementados durante a execução são eliminados automaticamente.

Para evitar incorrer em custos para a sua conta por outros recursos usados neste início rápido, certifique-se de que elimina o projeto ou o cluster que criou se quiser reutilizar o projeto.

Para eliminar o cluster:

  1. No Kubernetes Explorer, pause o cursor sobre o nome do cluster e, de seguida, clique em open_in_new Abrir na Trusted Cloud consola.
  2. Clique em Eliminar e, de seguida, em Eliminar.

Para eliminar o seu projeto (e os recursos associados, incluindo todos os clusters):

  1. In the Trusted 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.

Obter apoio técnico

Para enviar feedback, comunicar problemas no GitHub ou fazer uma pergunta no Stack Overflow.

O que se segue?