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
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Trusted 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.enable
permission. Learn how to grant roles. - Instale o Git para que o Cloud Code possa realizar operações Git, como clonar um exemplo.
- Instale o plug-in Cloud Code se ainda não o fez.
Crie uma aplicação
- 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. - Guarde a nova aplicação. Uma notificação confirma que a candidatura foi criada e é aberta uma nova janela com a candidatura.
Configure credenciais
Para abrir um terminal, clique em Terminal > Novo terminal.
Crie uma conta de serviço para autenticar os seus pedidos de API:
gcloud iam service-accounts create \ translation-quickstart \ --project PROJECT_ID
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'
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
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
Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:
- Para abrir um terminal, clique em Terminal > Novo terminal.
Execute o seguinte comando:
go get cloud.google.com/go/translate/apiv3
Crie um ficheiro
app.go
.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() { }
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
Na função
main()
, chametranslateText()
. 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) }
No terminal, execute a sua aplicação.
go run app.go
Java
Abra
pom.xml
e adicione o seguinte fragmento do código à secçã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 ficheiro
pom.xml
, adicione o seguinte fragmento do código à secçã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>
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.
Quando lhe for perguntado se quer sincronizar o classpath/configuração do Java, clique em Sempre.
Cria um ficheiro com o nome
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()
à turmaApp
. Este método define e transmite variáveis a um métodotranslateText()
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); }
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()); } } }
Substitua a declaração de impressão no seu
main
por uma chamada paratranslateText()
:try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:
- Clique em
Cloud Code e, de seguida, expanda o explorador APIs Google Cloud.
- Expanda IA na nuvem e, de seguida, clique em API Cloud Translation.
- Para instalar a biblioteca de cliente, clique em NodeJS e, de seguida, clique em
play_arrow
Executar no terminal.
- Clique em
Crie um ficheiro
app.js
no seu projeto.Abra
app.js
e importe a biblioteca de cliente de tradução no início do ficheiro:const {TranslationServiceClient} = require('@google-cloud/translate');
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!';
Adicione a seguinte função
async
, que deteta o idioma do seu textoHello, 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}`); } }
No final do ficheiro
app.js
, ligue paratranslateText()
:translateText();
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.Depois de a aplicação ser implementada, veja o serviço em execução abrindo o URL apresentado no WebView.
Python
Instale as bibliotecas cliente do Google Cloud da Cloud Translation API:
- Clique em
Cloud Code e, de seguida, expanda o explorador APIs Google Cloud.
- Expanda IA na nuvem e, de seguida, clique em API Cloud Translation.
- 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 usarpip3
em vez depip
. Se estiver a usar um Mac, reveja o comando para usarpip3
e adicione a flag--user
.
- Clique em
Crie um ficheiro
app.py
no seu projeto.Em
app.py
, importe a biblioteca de cliente no início do ficheiro:from google.cloud import translate
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"
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))
No final de
app.py
, liga paratranslate_text()
.translate_text()
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.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:
- No Kubernetes Explorer, pause o cursor sobre o nome do cluster e, de seguida, clique em open_in_new Abrir na Trusted Cloud consola.
- Clique em Eliminar e, de seguida, em Eliminar.
Para eliminar o seu projeto (e os recursos associados, incluindo todos os clusters):
- In the Trusted 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.
Obter apoio técnico
Para enviar feedback, comunicar problemas no GitHub ou fazer uma pergunta no Stack Overflow.O que se segue?
- Saiba mais acerca da API Cloud Translation
- Saiba mais sobre as bibliotecas de cliente da nuvem
- Saiba mais sobre o Cloud Code para o VS Code