1

我按照本教程 在 Google Managed VMs 中启动并运行 Bigtable 客户端。但是有没有办法在本地运行它?原因是在开发中远程部署代码很痛苦。

通常我可以用来dev_appserver.sh在本地运行 GAE 应用程序。但是当我运行它时,我收到了这个错误:

原因:java.lang.IllegalStateException:Jetty ALPN 未正确配置。

这意味着我们需要包含 ALPN 库?由于我们的代码库是 Java 7,我使用了这个 ALPN 版本:7.1.3.v20150130.

然后我再次尝试了这个:

dev_appserver.sh --jvm_flag=-Xbootclasspath/p:/Users/shouguoli/tmp/alpn-boot-7.1.3.v20150130.jar

仍然收到此错误:

原因:com.google.apphosting.api.ApiProxy$CallNotFoundException:未找到 API 包“urlfetch”或调用“Fetch()”。

你如何让它在本地工作?

4

1 回答 1

1

样本已于上周更新。它基于 java 8 compat 运行时,这意味着您可以访问大多数 App Engine API,包括用户、任务队列和数据存储。

有一个使用 Boring SSL的新Netty TCNative模块。

要将其与pom.xml示例中的 一起使用,请执行以下操作:

mvn clean -Pmac jetty:run -Dbigtable.projectID=<your-project> -Dbigtable.clusterID=<your-cluster> -Dbigtable.zone=<your-zone>

要在 Windows 上使用,请使用-Pwindows而不是-Pmac. 对于 linux,请省略 Profile -P,因为它是默认设置。

部署:

mvn clean gcloud:deploy -Dbigtable.projectID=<your-project> -Dbigtable.clusterID=<your-cluster> -Dbigtable.zone=<your-zone>

注意- 建议在本地运行和远程运行之间进行清理,因为 TCNative 模块当前特定于代码运行的平台。

我们正在更新我们所有的样本以使用 TCNative,我们希望在 2016 年 3 月 10 日之前拥有它。

于 2016-02-20T19:04:03.063 回答