【问题标题】:How to run managed-vm-gae example code locally如何在本地运行 managed-vm-gae 示例代码
【发布时间】:2016-03-20 16:29:27
【问题描述】:

我关注了this tutorial 在 Google 托管的虚拟机中启动并运行 Bigtable 客户端。但是有没有办法在本地运行它?原因是在开发中远程部署代码很痛苦。

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

Caused by: java.lang.IllegalStateException: Jetty ALPN has not been 正确配置。

这意味着我们需要包含 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()”。

如何让它在本地工作?

【问题讨论】:

  • 我现在正在处理这个问题 - 希望在明天或周三之前更新 repo。
  • 关闭 -- 希望明天 EoD 或它可能不会在 1 月之前发生。
  • 哈哈,投票/徽章/声誉,你需要什么来完成它!?!? :)
  • 非常接近,明天起飞,周一下午(或更早)再试一次。我知道这有多么重要,我认为它终于在我们的掌握之中。
  • 对此有何更新? :)

标签: google-app-engine google-cloud-bigtable


【解决方案1】:

sample 已于上周更新。它基于 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 日之前完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    相关资源
    最近更新 更多