在 Cloud Code 中使用 Cloud 客户端库
本页面介绍了如何快速开始使用 Cloud 客户端库和 Cloud Code您将使用“Hello World”示例应用设置新的 Kubernetes 应用,然后更新该应用以使用 Cloud Translation API 将响应翻译成西班牙语。
准备工作
- 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.
- 安装 Git,以便 Cloud Code 可以执行 Git 操作,例如克隆示例。
- 如果您尚未安装 Cloud Code 插件,请先安装该插件。
创建应用
- 在 Command Palette (
Cmd
/Ctrl
+Shift
+P
) 中运行 Cloud Code: New Application,选择 Kubernetes Application,然后选择以您偏好的语言提供的 Hello World 应用。例如,选择 Node.js:Hello World 可创建 Node.js Hello World 入门应用。 - 保存新应用。系统会显示一条通知,确认您的应用已创建且 新窗口。
设置凭据
如需打开终端,请依次点击终端 > 新建终端。
创建服务账号以对您的 API 请求进行身份验证:
gcloud iam service-accounts create \ translation-quickstart \ --project PROJECT_ID
向您的服务账号授予 Cloud Translation API User 角色:
gcloud projects \ add-iam-policy-binding \ PROJECT_ID \ --member='serviceAccount:translation-quickstart@PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/cloudtranslate.user'
创建服务账号密钥:
gcloud iam service-accounts keys \ create key.json --iam-account \ translation-quickstart@PROJECT_ID.iam.gserviceaccount.com
将密钥设置为默认凭据:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
从应用调用 Cloud Translation API
Go
安装 Cloud Translation API Cloud 客户端库:
- 如需打开终端,请依次点击终端 > 新建终端。
运行以下命令:
go get cloud.google.com/go/translate/apiv3
创建
app.go
文件。打开
app.go
并添加软件包名称、导入项和应用框架: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() { }
在
translateText()
函数中,添加以下代码, 翻译指定文本。选择文件 >保存即可重新设置 代码: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
在
main()
函数中,调用translateText()
。以下参数值会将英语翻译成西班牙语: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) }
在终端中运行应用。
go run app.go
Java
打开
pom.xml
并将以下代码段添加到dependencies
部分:<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>
然后,在
pom.xml
文件中,将以下代码段添加到 “dependencyManagement
”部分:<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>
确保您使用的是最新版 Google Cloud 支持的库。如需查看版本列表,请参阅 Google Cloud 支持的库。
当系统询问您是否要同步 Java 类路径/配置时,请点击始终。
创建一个名为
app.java
的文件。在
app.java
中,在软件包后面添加以下导入内容 定义: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;
将
translateText()
方法添加到App
类中。此方法会设置变量并将其传递给过载的translateText()
方法。以下值会将英语翻译成西班牙语:public static void translateText() throws IOException { String projectId = "<walkthrough-project-id/>"; String targetLanguage = "es"; String text = "Hello world!"; translateText(projectId, targetLanguage, text); }
添加过载的
translateText()
方法。此方法会接受文本并将其翻译成目标语言。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()); } } }
将
main
中的 print 语句替换为对translateText()
的调用:try { translateText(); } catch (IOException e) { e.printStackTrace(); }
Node.js
安装 Cloud Translation API Cloud 客户端库:
- 点击 Cloud Code,然后展开 Cloud API Explorer。
- 展开 Cloud AI,然后点击 Cloud Translation API。
- 要安装客户端库,请点击 NodeJS,然后点击
play_arrow
在终端中运行。
在项目中创建一个
app.js
文件。打开
app.js
在文件开头导入 Translation 客户端库:const {TranslationServiceClient} = require('@google-cloud/translate');
创建一个 Translation API 客户端并为您的项目 ID 添加变量, 位置和您要翻译的文本:
// Instantiates a client const translationClient = new TranslationServiceClient(); const projectId = 'PROJECT_ID'; const location = 'global'; const text = 'Hello, world!';
添加以下
async
函数,该函数会检测Hello, world!
文本的语言,并将该文本翻译成西班牙语: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}`); } }
在
app.js
文件末尾调用translateText()
:translateText();
要运行您的应用,请打开命令面板(按
Ctrl
/Cmd
+Shift
+P
),然后运行 Cloud Code: Run on Kubernetes。应用部署完毕后,通过打开 WebView 中显示的网址来查看正在运行的服务。
Python
安装 Cloud Translation API Cloud 客户端库:
- 点击 Cloud Code,然后展开 Cloud API Explorer。
- 展开 Cloud AI,然后点击 Cloud Translation API。
- 要安装客户端库,请点击 Python,然后点击
play_arrow
在终端中运行。
注意:如果您使用的是基于 Linux 的操作系统(包括 Chromebook),请修改命令以使用pip3
而非pip
。如果您使用的是 Mac,请将命令更改为使用pip3
并添加--user
标志。
在项目中创建一个
app.py
文件。在
app.py
中,在文件开头导入客户端库:from google.cloud import translate
添加
translate_text
函数。这会初始化客户端以与 Cloud Translation API 进行交互。def translate_text(text="Hello, world!", project_id="PROJECT_ID"): client = translate.TranslationServiceClient() location = "global" parent = "projects/PROJECT_ID/locations/LOCATION"
要将文本从英语翻译成西班牙语并打印结果,请在
translate_text
函数,请将以下调用添加到 Cloud Translation API Cloud 客户端库: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))
在
app.py
末尾,调用translate_text()
。translate_text()
要运行您的应用,请打开命令面板(按
Ctrl
/Cmd
+Shift
+P
),然后运行 Cloud Code: Run on Kubernetes。部署应用后,打开 网页视图中显示的网址。
清理
您停止应用后,系统会自动删除在运行期间部署的所有 Kubernetes 资源。
为避免系统因本快速入门中使用的其他资源向您的账号收取费用,请务必删除您创建的项目,或者删除您创建的集群(如果您想重复使用该项目)。
如需删除集群,请执行以下操作:
- 在 Kubernetes Explorer 中,将光标悬停在集群名称上,然后点击 open_in_new 在 Google Cloud 控制台中打开。
- 点击删除,然后再次点击删除进行确认。
如需删除项目(以及关联的资源,包括所有集群),请执行以下操作:
- 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.
获取支持
如需发送反馈,请在 GitHub 上报告问题,或者在 Stack Overflow 上提问。后续步骤
- 详细了解 Cloud Translation API
- 详细了解 Cloud 客户端库
- 详细了解 Cloud Code for VS Code