Прежде всего, убедитесь, что корзина Cloud Storage находится в той же области , что и база данных Cloud 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 в пространстве имен по умолчанию в корзину Cloud Storage.
gcloud datastore export --namespaces="(default)" gs://my-bucket
3. Перейдите в Stackdriver> Ведение журнала> Журналы и выберите созданную вами облачную функцию из первого раскрывающегося списка.Вы должны увидеть вывод, похожий на этот:
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'