Utiliser les bibliothèques clientes Cloud dans Cloud Code
Cette page explique comment démarrer rapidement avec les bibliothèques clientes Cloud et Cloud Code. Vous allez configurer une nouvelle application Kubernetes à l'aide d'un exemple d'application Hello World, puis la mettre à jour afin qu'elle utilise l'API Cloud Translation pour traduire la réponse en espagnol.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API Google Kubernetes Engine and Cloud Translation.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API Google Kubernetes Engine and Cloud Translation.
- Installez Git pour que Cloud Code puisse effectuer des opérations Git, telles que le clonage d'un exemple.
- Si ce n'est pas déjà fait, installez le plug-in Cloud Code.
Créer une application
- Dans la palette de commandes (
Cmd
/Ctrl
+Shift
+P
), exécutez Cloud Code: nouvelle application, choisissez Application Kubernetes, puis choisissez une application Hello World dans le langage de votre choix. Par exemple, sélectionnez Node.js: Hello World pour créer une application Hello World Node.js de démarrage. - Enregistrez la nouvelle application. Une notification confirme que votre application a été créée et qu'une nouvelle fenêtre s'ouvre.
Configurer les identifiants
Pour ouvrir un terminal, cliquez sur Terminal > Nouveau terminal.
Créez un compte de service pour authentifier vos requêtes API :
gcloud iam service-accounts create \ translation-quickstart \ --project PROJECT_ID
Attribuez le rôle d'utilisateur de l'API Cloud Translation à votre compte de service :
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:translation-quickstart@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
Créez une clé de compte de service :
gcloud iam service-accounts keys \ create key.json --iam-account \ translation-quickstart@PROJECT_ID.iam.gserviceaccount.com
Définissez la clé comme identifiant par défaut :
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
Appeler l'API Cloud Translation depuis votre application
Go
Installez les bibliothèques clientes Cloud de l'API Cloud Translation:
- Pour ouvrir un terminal, cliquez sur Terminal > Nouveau terminal.
Exécutez la commande ci-dessous.
go get cloud.google.com/go/translate/apiv3
Créez un fichier
app.go
.Ouvrez
app.go
, puis ajoutez le nom du package, les importations et le squelette d'application: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() { }
Dans votre fonction
translateText()
, ajoutez le code suivant, qui traduit le texte spécifié. Sélectionnez File > Save (Fichier > Enregistrer) pour reformater votre code: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
Dans votre fonction
main()
, appeleztranslateText()
. Les valeurs de paramètre suivantes traduisent l'anglais vers l'espagnol: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) }
Depuis le terminal, exécutez votre application.
go run app.go
Java
Ouvrez
pom.xml
et ajoutez l'extrait de code suivant à la sectiondependencies
:<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>
Ensuite, dans le fichier
pom.xml
, ajoutez l'extrait de code suivant à la sectiondependencyManagement
:<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>
Assurez-vous d'utiliser la dernière version des bibliothèques Google Cloud compatibles. Pour obtenir la liste des versions, consultez la page Bibliothèques compatibles avec Google Cloud.
Lorsque vous êtes invité à indiquer si vous souhaitez synchroniser le classpath/la configuration Java, cliquez sur Always.
Créez un fichier nommé
app.java
.Dans
app.java
, incluez les importations suivantes après la définition du package: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;
Ajoutez la méthode
translateText()
à votre classeApp
. Cette méthode définit et transmet des variables à une méthodetranslateText()
surchargée. Les valeurs suivantes permettent une traduction de l'anglais vers l'espagnol :public static void translateText() throws IOException { String projectId = "<walkthrough-project-id/>"; String targetLanguage = "es"; String text = "Hello world!"; translateText(projectId, targetLanguage, text); }
Ajoutez une méthode
translateText()
surchargée. Cette méthode prend du texte et le traduit dans la langue cible.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()); } } }
Remplacez l'instruction d'impression dans votre fichier
main
par un appel àtranslateText()
:try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
Installez les bibliothèques clientes Cloud de l'API Cloud Translation:
- Cliquez sur Cloud Code, puis développez l'explorateur API Cloud.
- Développez Cloud AI, puis cliquez sur API Cloud Translation.
- Pour installer la bibliothèque cliente, cliquez sur NodeJS, puis sur play_arrow
Exécuter dans le terminal.
Créez un fichier
app.js
dans votre projet.Ouvrez
app.js
et importez la bibliothèque cliente Translation au début du fichier:const {TranslationServiceClient} = require('@google-cloud/translate');
Créez un client de l'API Translation et ajoutez des variables pour l'ID de votre projet, l'emplacement et le texte que vous souhaitez traduire:
// Instantiates a client const translationClient = new TranslationServiceClient(); const projectId = 'PROJECT_ID'; const location = 'global'; const text = 'Hello, world!';
Ajoutez la fonction
async
suivante, qui détecte la langue de votre texteHello, world!
et le traduit en espagnol: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}`); } }
À la fin de votre fichier
app.js
, appeleztranslateText()
:translateText();
Pour exécuter votre application, ouvrez la palette de commandes (appuyez sur
Ctrl
/Cmd
+Shift
+P
), puis exécutez la commande Cloud Code: Run on Kubernetes.Une fois l'application déployée, affichez votre service en cours d'exécution en ouvrant l'URL affichée dans la webview.
Python
Installez les bibliothèques clientes Cloud de l'API Cloud Translation:
- Cliquez sur Cloud Code, puis développez l'explorateur API Cloud.
- Développez Cloud AI, puis cliquez sur API Cloud Translation.
- Pour installer la bibliothèque cliente, cliquez sur Python, puis sur play_arrow
Exécuter dans le terminal.
Remarque: Si vous utilisez un système d'exploitation basé sur Linux, y compris un Chromebook, modifiez la commande pour utiliserpip3
au lieu depip
. Si vous utilisez un Mac, révisez la commande pour utiliserpip3
et ajoutez l'option--user
.
Créez un fichier
app.py
dans votre projet.Dans
app.py
, importez la bibliothèque cliente au début du fichier:from google.cloud import translate
Ajoutez la fonction
translate_text
: Cela initialise un client pour interagir avec l'API Cloud Translation.def translate_text(text="Hello, world!", project_id="PROJECT_ID"): client = translate.TranslationServiceClient() location = "global" parent = "projects/PROJECT_ID/locations/LOCATION"
Pour traduire du texte de l'anglais vers l'espagnol et imprimer le résultat, dans votre fonction
translate_text
, ajoutez l'appel suivant aux bibliothèques clientes Cloud de l'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))
À la fin de
app.py
, appeleztranslate_text()
.translate_text()
Pour exécuter votre application, ouvrez la palette de commandes (appuyez sur
Ctrl
/Cmd
+Shift
+P
), puis exécutez la commande Cloud Code: Run on Kubernetes.Une fois l'application déployée, affichez votre service en cours d'exécution en ouvrant l'URL affichée dans la webview.
Effectuer un nettoyage
Une fois votre application arrêtée, toutes les ressources Kubernetes déployées lors de l'exécution sont automatiquement supprimées.
Afin d'éviter que des frais ne soient facturés sur votre compte pour les autres ressources utilisées dans ce guide de démarrage rapide, veillez à supprimer le projet ou à supprimer le cluster que vous avez créé si vous souhaitez le réutiliser.
Pour supprimer le cluster :
- Dans l'explorateur Kubernetes, faites une pause sur le nom de votre cluster, puis cliquez sur open_in_new Ouvrir dans la console Google Cloud.
- Cliquez sur Supprimer et de nouveau sur Supprimer.
Pour supprimer votre projet (et les ressources associées, y compris les clusters) :
- Dans la console Google Cloud, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Assistance
Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.Étapes suivantes
- En savoir plus sur l'API Cloud Translation
- Découvrez les bibliothèques clientes Cloud.
- En savoir plus sur Cloud Code pour VS Code