Usar as bibliotecas de cliente do Cloud no Cloud Code
Nesta página, mostramos como começar a usar as bibliotecas de cliente do Cloud e o Cloud Code. Você vai configurar um novo aplicativo do Kubernetes usando um exemplo de aplicativo Hello World e, em seguida, atualizar o aplicativo para usar a API Cloud Translation para traduzir a resposta para o espanhol.
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine and Cloud Translation APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine and Cloud Translation APIs.
- 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, caso ainda não tenha feito isso.
Criar um aplicativo
- Na paleta de comandos (
Cmd
/Ctrl
+Shift
+P
), execute Cloud Code: New Application, escolha Kubernetes Application e escolha um app Hello World no idioma de sua preferência. Por exemplo, escolha Node.js: Hello World para criar um aplicativo inicial Hello World do Node.js. - Salve o novo aplicativo. Uma notificação confirma que seu aplicativo foi criado e que uma nova janela com o aplicativo foi aberta.
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 para a 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.go
e adicione o nome do pacote, as importações e o esqueleto do 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() { }
Na função
translateText()
, adicione o código abaixo, que traduz o texto especificado. Selecione File > Save 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
Na 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.xml
e 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 das bibliotecas apoiadas por Google Cloud . Para conferir 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 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;
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 impressão no
main
por uma chamada paratranslateText()
:try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
Instale as bibliotecas de cliente do Cloud para a API Cloud Translation:
- Clique em
Cloud Code e abra o explorador de APIs do Cloud.
- Expanda Cloud AI e clique em API Cloud Translation.
- Para instalar a biblioteca de cliente, clique em NodeJS e em
play_arrow
Run in terminal.
- Clique em
Crie um arquivo
app.js
no projeto.Abra
app.js
e 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 o 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 na WebView para conferir o serviço em execução.
Python
Instale as bibliotecas de cliente do Cloud para a API Cloud Translation:
- Clique em
Cloud Code e abra o explorador de APIs do Cloud.
- Expanda Cloud AI e clique em API Cloud Translation.
- Para instalar a biblioteca de cliente, clique em Python e em
play_arrow
Run in terminal.
Observação: se você estiver usando um sistema operacional baseado em Linux, incluindo Chromebook, revise o comando para usarpip3
em vez depip
. Se você estiver usando um Mac, revise o comando para usarpip3
e adicione a flag--user
.
- Clique em
Crie um arquivo
app.py
no projeto.No
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 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 na WebView para conferir o serviço em execução.
Limpar
Depois de interromper o 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 que você criou 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 em Excluir.
Para excluir o projeto (e os recursos associados, incluindo os clusters):
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Receber suporte
Acesse o GitHub para enviar feedback e informar problemas ou o Stack Overflow (ambos 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