Cloud Function下载URL,然后上传到Cloud Storage存储桶

问题描述

以下代码运行良好。我收到“文件下载”日志,然后显示状态200代码,但此后存储桶中存在的文件大小仅为20B,并且为空。

我曾尝试查看日志文件,但其中填充了很多参数,例如socketPath和许多其他参数。

但是,我认为有1个潜在相关的日志文件条目可能是导致此结果的原因(连接:关闭),但无法找出解决方法。请查看附件图片

cloud function log entry

const {Storage} = require('@google-cloud/storage');
    
exports.writetoBucket = (req,res) => {
    const http = require('http');
    const fs = require('fs');
    
    const file = fs.createWriteStream("/tmp/pp-monthly-update.txt");
    const request = http.get("http://prod.publicdata.landregistry.gov.uk.s3-website-eu-west-1.amazonaws.com/pp-monthly-update.txt",function(response) {
      response.pipe(file);
    });
    
    
    console.log('file downloaded');
    
    // Imports the Google Cloud client library
    const {Storage} = require('@google-cloud/storage');
    
    // Creates a client
    const storage = new Storage();
    const bucketName = 'landregistry_pricepaid_month';
    const filename = '/tmp/pp-monthly-update.txt';
    
    // Uploads a local file to the bucket
    storage.bucket(bucketName).upload(filename,{
      gzip: true,Metadata: {
        cacheControl: 'no-cache',},});
    
    res.status(200).send(`${filename} uploaded to ${bucketName}.`);
    
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)