我有一个数据存储实体。我想将它链接到一个存储桶(云存储),以便在每次插入数据存储实体后触发存储功能。我想让函数对插入的值进行console.log。文档非常简单,而且我没有找到任何教程。
我们该怎么做呢?谢谢
发布于 2018-12-02 23:59:34
首先,也是最重要的,确保云存储存储桶位于中作为云数据存储数据库;否则,它将无法工作。数据存储数据库的位置是项目的默认位置。
1.Compute> Cloud Functions > Create Function创建并部署将记录数据存储实体导出元数据的云函数。为函数命名,将触发器设置为Cloud Storage,事件类型为Finalize/Create。
使用内联编辑器为您喜欢的运行时编写源代码。我将使用Node.JS 6运行时和以下代码来记录数据存储实体导出:
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();
};您可以使用不同的运行时here找到更多示例。
2.使用下面的gcloud命令将默认命名空间中的云数据存储实体export到云存储存储桶中。
gcloud datastore export --namespaces="(default)" gs://my-bucket3.进入Stackdriver > Logging > Logs,从第一个下拉列表中选择您创建的云函数。您应该会看到类似以下内容的输出:
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'https://stackoverflow.com/questions/53576542
复制相似问题