[英]How to abort creation into firebase realtime database from a cloud function?
[英]how to do a cloud function firebase importing data from Bucket to database realtime
我尝试使用此代码,但它不起作用,我需要做一个云 function firebase 将数据从存储桶实时导入数据库
exports.getbackups = functions.runWith({ memory: "128MB", timeoutSeconds: 60, }).https.onRequest(async (req, res) => {
res = FirebaseServices.setHeaders(res);
let send = await FirebaseServices.verifyIdToken(req);
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const url = 'https://storage.cloud.google.com/report-transfer-data/2022-08-01T11%3A12%3A57Z_sp200200011002-report_data.json.gz?authuser=1'
const xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = (event) => {
const blob = xhr.response;
};
xhr.open('GET', url);
xhr.send();
const baseReport = document.getElementById('baseReport');
baseReport.setAttribute('src', url);
});
在您的云 Function 中,您需要通过管理员 SDK 与云存储服务进行交互。
特别是,您会在SDK 参考中找到有关如何将文件下载到 CF memory的示例,然后您可以使用其内容写入 RTDB。
大致如下:
exports.getbackups = functions.runWith({ memory: "128MB", timeoutSeconds: 60, }).https.onRequest(async (req, res) => {
const filePath = ...; // file path in Cloud Storage without the gs://
const file = admin
.storage()
.bucket()
.file(filepath);
const downloadResponse = await file.download();
const contents = downloadResponse[0];
// Do what you want with contents
res.send(....); // Terminate the HTTPS Cloud Function
// Correctly terminating your CF is important. See https://firebase.google.com/docs/functions/terminate-functions
// and in particular the embedded videos
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.