google-cloud-platform - 由数据存储实体插入触发的 Google Cloud Function Storage
问题描述
我有一个数据存储实体。我想将它链接到存储桶(云存储),以便在每次插入数据存储实体后触发存储功能。我希望函数控制台记录插入的值。文档真的很轻,我没有找到任何教程。
我们如何做到这一点?谢谢
解决方案
首先,确保 Cloud Storage 存储桶与 Cloud Datastore 数据库位于同一区域内;否则,它将无法正常工作。Datastore 数据库的位置是项目的默认位置。
1.进入计算 > 云函数 > 创建函数以创建和部署将记录数据存储实体导出元数据的云函数。为函数命名,将触发器设置为Cloud Storage
,并将事件类型设置为Finalize/Create
。
使用内联编辑器为您偏好的运行时编写源代码。我将使用 Node.JS 6 运行时和以下代码来记录 Datastore 实体导出:
exports.myfunction = (event, callback) => {
const file = event.data;
console.log(` Event: ${event.eventId}`);
console.log(` Event Type: ${event.eventType}`);
console.log(` Bucket: ${file.bucket}`);
console.log(` File: ${file.name}`);
console.log(` Metageneration: ${file.metageneration}`);
console.log(` Created: ${file.timeCreated}`);
console.log(` Updated: ${file.updated}`);
callback();
};
您可以在此处找到更多使用不同运行时的示例。
2.使用以下gcloud
命令将默认命名空间中的 Cloud Datastore 实体导出到 Cloud Storage 存储桶。
gcloud datastore export --namespaces="(default)" gs://my-bucket
3.转到 Stackdriver > Logging > Logs,然后从第一个下拉列表中选择您创建的 Cloud Function。您应该会看到与此类似的输出:
Event: undefined
Event Type: undefined
Bucket: my-bucket
File: 2018-12-02T15:15:59_98240/2018-12-02T15:15:59_98240.overall_export_metadata
Metageneration: 1
Created: 2018-12-02T15:16:06.460Z
Updated: 2018-12-02T15:16:06.460Z
Function execution took 16 ms, finished with> status: 'ok'
推荐阅读
- c# - Xamarin 表单上的按键事件
- python - 使用 python 解码 Alt 代码
- sql - 如何将 CTE 的结果插入到某些列具有恒定值的表中
- c# - 无法将反序列化 Json 对象绑定到类模型中
- python - 为什么我在 github 上的 python 包没有显示 used by 信息?
- python - ValueError:检查输入时出错:预期 left_input 的形状为 (134,),但得到的数组的形状为 (1,)
- image - 如何找到图像中点之间的距离?
- c++ - 如何检查 GLFW 窗口是否正在运行?
- r - 如何自定义 ggplot2 箱线图的颜色?
- visual-studio - 我应该将哪个文档用于 Visual Studio 扩展开发?