Utilizza le librerie client di Cloud in Cloud Code
Questa pagina mostra come iniziare rapidamente a utilizzare le librerie client di Cloud e Cloud Code. Configurerai una nuova applicazione Kubernetes utilizzando un'applicazione di esempio Hello World, quindi aggiornerai l'applicazione per utilizzare l'API Cloud Translation per tradurre la risposta in spagnolo.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per eseguire, testare ed eseguire il deployment di carichi di lavoro.
-
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.- Installa Git in modo che Cloud Code possa eseguire operazioni Git, come la clonazione di un esempio.
- Installa il plug-in Cloud Code se non l'hai già fatto.
Crea un'applicazione
- Dalla tavolozza dei comandi (
Cmd/Ctrl+Shift+P), esegui Cloud Code: New Application, scegli Kubernetes Application, quindi scegli un'app Hello World nella lingua che preferisci. Ad esempio, scegli Node.js: Hello World per creare un'app Hello World Node.js di base. - Salva la nuova applicazione. Una notifica conferma che l'applicazione è stata creata e si apre una nuova finestra con l'applicazione.
Configura le credenziali
Per aprire un terminale, fai clic su Terminale > Nuovo terminale.
Crea un service account per autenticare le richieste API:
gcloud iam service-accounts create \ translation-quickstart \ --project PROJECT_ID
Concedi al tuo account di servizio il ruolo di utente API Cloud Translation:
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:translation-quickstart@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
Crea una chiave dell'account di servizio:
gcloud iam service-accounts keys \ create key.json --iam-account \ translation-quickstart@PROJECT_ID.iam.gserviceaccount.com
Imposta la chiave come credenziale predefinita:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
Chiama l'API Cloud Translation dalla tua applicazione
Vai
Installa le librerie client di Cloud dell'API Cloud Translation:
- Per aprire un terminale, fai clic su Terminale > Nuovo terminale.
Esegui questo comando:
go get cloud.google.com/go/translate/apiv3
Crea un file
app.go.Apri
app.goe aggiungi il nome del pacchetto, le importazioni e lo scheletro dell'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() { }Nella funzione
translateText(), aggiungi il seguente codice, che traduce il testo specificato. Seleziona File > Salva per riformattare il codice: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 nilNella funzione
main(), chiamatranslateText(). I seguenti valori dei parametri traducono dall'inglese allo spagnolo: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) }Dal terminale, esegui l'applicazione.
go run app.go
Java
Apri
pom.xmle aggiungi il seguente snippet di codice alla sezionedependencies:<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>Poi, nel file
pom.xml, aggiungi il seguente snippet di codice alla sezionedependencyManagement:<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>Assicurati di utilizzare l'ultima versione di Google Cloud Librerie supportate. Per un elenco delle versioni, vedi Google Cloud Librerie supportate.
Quando ti viene chiesto se vuoi sincronizzare la classe/configurazione Java, fai clic su Sempre.
Crea un file denominato
app.java.In
app.java, includi le seguenti importazioni dopo la definizione del pacchetto: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;Aggiungi il metodo
translateText()alla classeApp. Questo metodo imposta e trasmette le variabili a un metodotranslateText()sovraccarico. I seguenti valori traducono dall'inglese allo spagnolo:public static void translateText() throws IOException { String projectId = "<walkthrough-project-id/>"; String targetLanguage = "es"; String text = "Hello world!"; translateText(projectId, targetLanguage, text); }Aggiungi un metodo
translateText()sovraccarico. Questo metodo converte il testo nella lingua di destinazione.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()); } } }Sostituisci l'istruzione a schermo in
maincon una chiamata atranslateText():try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
Installa le librerie client di Cloud dell'API Cloud Translation:
- Fai clic su
Cloud Code ed espandi Explorer API Cloud.
- Espandi Cloud AI e poi fai clic su API Cloud Translation.
- Per installare la libreria client, fai clic su NodeJS e poi su
play_arrow
Esegui nel terminale.
- Fai clic su
Crea un file
app.jsnel tuo progetto.Apri
app.jse importa la libreria client di Translation all'inizio del file:const {TranslationServiceClient} = require('@google-cloud/translate');Crea un client API Translation e aggiungi variabili per l'ID progetto, la posizione e il testo che vuoi tradurre:
// Instantiates a client const translationClient = new TranslationServiceClient(); const projectId = 'PROJECT_ID'; const location = 'global'; const text = 'Hello, world!';
Aggiungi la seguente funzione
async, che rileva la lingua del testoHello, world!e lo traduce in spagnolo: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}`); } }Al termine del file
app.js, chiamatranslateText():translateText();Per eseguire l'applicazione, apri la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+P) e poi esegui Cloud Code: Run on Kubernetes.Dopo il deployment dell'applicazione, visualizza il servizio in esecuzione aprendo l'URL visualizzato nella visualizzazione web.
Python
Installa le librerie client di Cloud dell'API Cloud Translation:
- Fai clic su
Cloud Code ed espandi Explorer API Cloud.
- Espandi Cloud AI e poi fai clic su API Cloud Translation.
- Per installare la libreria client, fai clic su Python e poi su
play_arrow
Esegui nel terminale.
Nota: se utilizzi un sistema operativo basato su Linux, incluso Chromebook, modifica il comando in modo da utilizzarepip3anzichépip. Se utilizzi un Mac, modifica il comando in modo da utilizzarepip3e aggiungi il--userflag.
- Fai clic su
Crea un file
app.pynel tuo progetto.In
app.py, importa la libreria client all'inizio del file:from google.cloud import translate
Aggiungi la funzione
translate_text. Questo inizializza un client per interagire con 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"
Per tradurre il testo dall'inglese allo spagnolo e stampare il risultato, nella funzione
translate_text, aggiungi la seguente chiamata alle librerie client di Cloud dell'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))Alla fine di
app.py, chiamatranslate_text().translate_text()Per eseguire l'applicazione, apri la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+P) e poi esegui Cloud Code: Run on Kubernetes.Dopo il deployment dell'applicazione, visualizza il servizio in esecuzione aprendo l'URL visualizzato nella visualizzazione web.
Libera spazio
Dopo aver arrestato l'applicazione, tutte le risorse Kubernetes di cui è stato eseguito il deployment durante l'esecuzione vengono eliminate automaticamente.
Per evitare che al tuo account vengano addebitati costi per altre risorse utilizzate in questa guida rapida, assicurati di eliminare il progetto o il cluster che hai creato se vuoi riutilizzare il progetto.
Per eliminare il cluster:
- In Kubernetes Explorer, metti il puntatore sul nome del cluster e fai clic su open_in_new Apri nella Google Cloud console.
- Fai clic su Elimina e quindi su Elimina.
Per eliminare il progetto (e le risorse associate, inclusi eventuali cluster):
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
Richiedi assistenza
Per inviare feedback, segnalare problemi su GitHub, o porre una domanda su Stack Overflow.Passaggi successivi
- Scopri di più sull'API Cloud Translation
- Scopri di più sulle librerie client di Cloud
- Scopri di più su Cloud Code per VS Code