google-app-engine - GCP App Engine 部署和使用 Google Cloud Storage 客户端库
问题描述
我使用 composer 在本地机器上安装了 Cloud Storage 客户端库。
我的 App Engine 应用使用StorageClient(如下面的示例代码)将文件写入云存储桶。
require 'vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
$storage = new StorageClient();
$bucket = $storage->bucket('my_bucket');
// Upload a file to the bucket.
$bucket->upload(
fopen('/data/file.txt', 'r')
);
当我部署此应用程序时,库是否被复制到相应的 App Engine 实例?
将库复制到我的机器的身份验证过程/服务帐户是否?
使用图书馆是否需要单独收费?
解决方案
当我部署此应用程序时,库是否被复制到相应的 App Engine 实例?
在某种程度上,它们被复制到相应的 App Engine 实例,而不是从您的本地机器。
这发生在部署过程的构建阶段,您可以通过查看构建结果来确认。您可以使用 Google Cloud 控制台或 Google Cloud SDK 执行此操作。
这是查看上次部署的构建日志的示例。
gcloud builds log $(gcloud builds list --format json | jq -r ".[0].id")
您可以在 Google Cloud Shell 中使用它,也可以像这样通过管道将其传输到 grep:
gcloud builds log $(gcloud builds list --format json | jq -r ".[0].id") | grep composer
使用图书馆是否需要单独收费?
如App Engine Pricing文档中所述,根据您使用的是 Environment Standard还是Flexible,计费费率会有所不同。
使用标准环境,您选择一个实例类,并相应地按每个实例按小时计费,而使用灵活环境,您需要为资源计费。
因此,在前一种情况下,您必须确定您认为符合您需求的 RAM 内存量,而在后一种情况下,您可以更清楚地看到您为应用程序安装的依赖库数量对项目计费的影响。
推荐阅读
- php - 如何从数组的 foreach 循环创建数组?
- sqlite - Javafx:清除 SQLite 查询的 ResultSet,这样它就不会保留以前的结果
- powershell - 在 Windows 10 Powershell 中通过 F7 使命令历史弹出窗口工作
- javascript - 如何在javascript中获取频率值?
- json - 引起:org.apache.camel.InvalidPayloadException:
- sublimetext3 - Sublime Text 3 - 包控制 - 安装 | ImportError:没有名为“package_control”的模块
- javascript - 如何在javascript中计算本月和下个月的时间?
- c# - 更新标签文本仅使用给定文本的一部分
- angular - 如何在另一个应用程序中使用在一个角度应用程序中定义的自定义 html 元素
- tensorflow - 验证和训练期间 TensorFlow 中的批量标准化