Usar as bibliotecas de cliente do Cloud no Cloud Code
Nesta página, mostramos como começar a usar rapidamente as bibliotecas de cliente do Cloud e o Cloud Code. Você vai configurar um novo aplicativo do Kubernetes usando um aplicativo de amostra Hello World e atualizar o aplicativo para usar a API Cloud Translation e traduzir a resposta para o espanhol.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Instale o Git para que o Cloud Code possa realizar operações do Git, como clonar uma amostra.
- Instale o plug-in do Cloud Code se ainda não tiver feito isso.
Criar um aplicativo
- Na paleta de comandos (
Cmd/Ctrl+Shift+P), execute Cloud Code: New Application, escolha Kubernetes Application e selecione um app Hello World na linguagem de sua preferência. Por exemplo, escolha Node.js: Hello World para criar um app Hello World inicial do Node.js. - Salve o novo aplicativo. Uma notificação confirma que seu aplicativo foi criado e uma nova janela é aberta com ele.
Configurar credenciais
Para abrir um terminal, clique em Terminal > Novo terminal.
Crie uma conta de serviço para autenticar suas solicitações de API:
gcloud iam service-accounts create \ translation-quickstart \ --project PROJECT_ID
Conceda à sua conta de serviço a função do usuário da API Cloud Translation:
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:translation-quickstart@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
Crie uma chave de conta de serviço:
gcloud iam service-accounts keys \ create key.json --iam-account \ translation-quickstart@PROJECT_ID.iam.gserviceaccount.com
Defina a chave como suas credenciais padrão:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
Chamar a API Cloud Translation do seu aplicativo
Go
Instale as bibliotecas de cliente do Cloud da API Cloud Translation:
- Para abrir um terminal, clique em Terminal > Novo terminal.
Execute este comando:
go get cloud.google.com/go/translate/apiv3
Crie um arquivo
app.go.Abra
app.goe adicione o nome do pacote, as importações e o esqueleto de apps: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() { }Na função
translateText(), adicione o código a seguir, que traduz o texto especificado. Selecione Arquivo > Salvar 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 nilNa função
main(), chametranslateText(). Os valores de parâmetro a seguir traduzem 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) }No terminal, execute o aplicativo.
go run app.go
Java
Abra
pom.xmle adicione o seguinte snippet de código à seçãodependencies:<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>Em seguida, no arquivo
pom.xml, adicione o seguinte snippet de código à seçãodependencyManagement:<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>Verifique se você está usando a versão mais recente de Google Cloud Supported Libraries. Para uma lista de versões, consulte Google Cloud Bibliotecas compatíveis.
Quando perguntado se você quer sincronizar o classpath/configuração do Java, clique em Sempre.
Crie um arquivo chamado
app.java.Em
app.java, inclua as seguintes importações após a definição de 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;Adicione o método
translateText()à classeApp. Esse método define e transmite variáveis para um métodotranslateText()sobrecarregado. Os valores de parâmetro a seguir 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); }Adicione um método
translateText()sobrecarregado. Esse método pega o texto e o 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()); } } }Substitua a instrução de exibição no
mainpor uma chamada paratranslateText():try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
Instale as bibliotecas de cliente do Cloud da API Cloud Translation:
- Clique em
Cloud Code e expanda o explorador de APIs do Cloud.
- Abra IA do Google Cloud e clique em API Cloud Translation.
- Para instalar a biblioteca de cliente, clique em NodeJS e depois em
play_arrow
Executar no terminal.
- Clique em
Crie um arquivo
app.jsno projeto.Abra
app.jse importe a biblioteca de cliente do Translation no início do arquivo:const {TranslationServiceClient} = require('@google-cloud/translate');Crie um cliente da API Translation e adicione variáveis para seu ID do projeto, o local e o texto que você quer traduzir:
// Instantiates a client const translationClient = new TranslationServiceClient(); const projectId = 'PROJECT_ID'; const location = 'global'; const text = 'Hello, world!';
Adicione a seguinte função
async, que detecta o idioma do textoHello, world!e o traduz para o 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}`); } }No final do arquivo
app.js, chametranslateText():translateText();Para executar o aplicativo, abra a paleta de comandos (pressione
Ctrl/Cmd+Shift+P) e execute Cloud Code: Run on Kubernetes.Depois que o aplicativo for implantado, abra o URL exibido no WebView para ver o serviço em execução.
Python
Instale as bibliotecas de cliente do Cloud da API Cloud Translation:
- Clique em
Cloud Code e expanda o explorador de APIs do Cloud.
- Abra IA do Google Cloud e clique em API Cloud Translation.
- Para instalar a biblioteca de cliente, clique em Python e depois em
play_arrow
Executar no terminal.
Observação: se você estiver usando um sistema operacional baseado em Linux, incluindo Chromebook, revise o comando para usarpip3em vez depip. Se você estiver usando um Mac, revise o comando para usarpip3e adicione a flag--user.
- Clique em
Crie um arquivo
app.pyno projeto.Em
app.py, importe a biblioteca de cliente no início do arquivo:from google.cloud import translate
Adicione a função
translate_text. Isso 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"
Para traduzir texto do inglês para o espanhol e imprimir o resultado, na sua função
translate_text, adicione a seguinte chamada às bibliotecas de cliente do Cloud 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))No final de
app.py, chametranslate_text().translate_text()Para executar o aplicativo, abra a paleta de comandos (pressione
Ctrl/Cmd+Shift+P) e execute Cloud Code: Run on Kubernetes.Depois que o aplicativo for implantado, abra o URL exibido no WebView para ver o serviço em execução.
Limpar
Depois do encerramento do aplicativo, todos os recursos do Kubernetes implantados durante a execução são excluídos automaticamente.
Para evitar cobranças na sua conta por outros recursos usados neste guia de início rápido, exclua o projeto ou o cluster criado se quiser reutilizar o projeto.
Para excluir o cluster, siga estas etapas:
- No Kubernetes Explorer, pause no nome do cluster e clique em open_in_new Abrir no console do Google Cloud .
- Clique em Excluir e, novamente, em Excluir.
Para excluir o projeto (e os recursos associados, incluindo os clusters):
- No console Google Cloud , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Receber suporte
Acesse o GitHub (em inglês) para enviar feedback e informar problemas ou o Stack Overflow (em inglês) para fazer perguntas.A seguir
- Saiba mais sobre a API Cloud Translation.
- Saiba mais sobre as bibliotecas de cliente do Cloud.
- Saiba mais sobre o Cloud Code para VS Code