Go 运行时

概览

在柔性环境中,Go 运行时是负责构建和运行代码的软件堆栈。

要在柔性环境中选择 Go 运行时,请向 app.yaml 文件添加以下两行代码。

runtime: go
env: flex

柔性环境中的运行时使用 Docker 构建。 GitHub 上提供了 Go 运行时的源代码。

导入软件包

当您将应用部署到 App Engine 时,您的代码会被编译。当您运行部署命令时,系统首先从本地 GOPATH 收集应用的依赖项,然后再将它们全部发送到构建服务器。如果缺少任何依赖项(例如第三方库),都将导致构建失败。

为了避免构建失败并确保应用的所有依赖项都与代码一起部署,您应该先在本地测试应用,再进行部署

扩展运行时

要了解如何扩展并自定义运行时,请参阅 GitHub 上的 Go 运行时生成器

元数据服务器

应用的每个实例都可以使用 Compute Engine 元数据服务器来查询有关实例的信息,包括实例的主机名、外部 IP 地址、实例 ID、自定义元数据和服务帐号信息。App Engine 不允许为每个实例设置自定义元数据,但您可以设置项目级的自定义元数据,并从 App Engine 和 Compute Engine 实例中读取这些元数据。

您可以使用 cloud.google.com/go/compute/metadata 软件包访问元数据服务器。