Google 云平台:如何使用 GCP 资源在我的本地环境中进行开发

Google Cloud Platform : How to develop on my local environment with GCP resources

我正在使用 Google App Engine Flex 开发 angularjs/php-rest 后端应用程序。 我已经从常规服务器成功移植到 AppEngine,现在我想与 GCP 服务集成更多,例如:StackDriver、Cloud Storage 等等。

StackDriver 具有日志记录和监控功能。 Cloud Storage: 存储导出数据文件并在发送到浏览器之前压缩它们。

我的问题是如何在笔记本电脑上进行本地开发(可以在线和离线)?

我在本地开发的文档"the way"中没有找到:

感谢任何提示:)

App Engine Flexible 不附带开发服务器或服务模拟器供开发期间使用,因此您可以直接使用这些服务。

  • Stackdriver Logging:写入 stdoutstderr 的日志会自动发送到 Stackdriver Logging对您来说,无需为 PHP 使用 Stackdriver Logging 库。这可能足以让您在本地获取日志,但我们建议您使用 PSR-3 记录器,它会自动将元数据添加到您的日志中,以便您的应用程序日志与请求日志相关联。您可以在本地将其设置为 运行 并按照文档 here.
  • 登录到您的项目
  • Stackdriver Monitoring:Google App Engine 内置了对灵活环境(部署时)监控的支持,不需要配置。虽然无法在您的本地计算机上安装监控代理,但无论如何监控它都是没有意义的。
  • Cloud Storage:一个简单的选择是创建一个可以在开发期间使用的开发存储桶。您可以在您希望的任何项目中创建它,并向您的开发服务帐户授予权限。

一种常见的做法是为生产、暂存和开发目的创建不同的 GCP 项目。这允许您为给定环境创建特定资源。以日志记录为例,您将能够在开发项目中查看日志并解决任何问题,而不会污染生产项目的日志。 CloudSQL、Datastore 等也是如此...

您不需要为这些服务配置任何代理。 cloud_sql_proxy 是一种强制执行安全连接并简化 CloudSQL 实例身份验证的便捷方法,无需将 IP 地址列入白名单。

关于现在的离线情况,当然如果你当时没有互联网连接,从你的本地应用程序调用那些服务将会失败(间歇性断开连接实际上可以帮助你测试你的重试和错误处理机制).如果您希望在完全没有互联网连接的情况下进行开发,则需要编写存根服务以在本地模仿预期的行为。