Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 云功能-获取超过10 MB的文件内容_Google Cloud Platform_Google Cloud Functions_Google Cloud Storage - Fatal编程技术网

Google cloud platform 云功能-获取超过10 MB的文件内容

Google cloud platform 云功能-获取超过10 MB的文件内容,google-cloud-platform,google-cloud-functions,google-cloud-storage,Google Cloud Platform,Google Cloud Functions,Google Cloud Storage,Google云函数的配额页面:表示HTTP函数在HTTP响应中发送的最大数据量为10 MB。我在Google存储桶中有100MB的文件,我想从云功能流式传输到我的应用程序。由于我们体系结构的安全性,我的应用程序无法直接从存储桶读取数据 云函数中的Go代码示例如下: func MyFn(w http.ResponseWriter, r *http.Request) { var appendedBytes []byte for { decryptedFileBuff

Google云函数的配额页面:表示HTTP函数在HTTP响应中发送的最大数据量为10 MB。我在Google存储桶中有100MB的文件,我想从云功能流式传输到我的应用程序。由于我们体系结构的安全性,我的应用程序无法直接从存储桶读取数据

云函数中的Go代码示例如下:

func MyFn(w http.ResponseWriter, r *http.Request) {

    var appendedBytes []byte
    for {
        decryptedFileBuffer, err := fh.GetNextDecryptedPage()
        if err != nil {
            break
        }
        appendedBytes = append(appendedBytes, decryptedFileBuffer...)
    }
    w.Write(appendedBytes)
}
如果我尝试使用云函数获取超过10 MB的文件,则会出现以下错误:

错误:函数响应不正确。函数调用失败 打断了

错误:无法处理该请求


如何从云功能中获取超过10 MB的文件?

当我们查看配额页面时,我们会看到是否可以增加配额的“否”。镇上的一个新玩家是Google Cloud Run。。。看见这提供了与云函数非常相似的功能,但使用Kubernetes作为函数宿主环境。它的容量是32MB。。。但这也比你需要的少,而且也被标记为不增加


我立刻想到的一个想法是,以方便(一个简单的云函数)换取灵活性,在GCP上运行自己的计算资源。例如,运行计算引擎、应用程序引擎或Kubernetes集群,其中包含的应用程序通过Web服务器提供响应是一个非常好的建议,并且不受吞吐量的限制。你必须对账单进行计算,以确定成本差异,因为指标会有所不同,但从技术角度来看,游戏会发生巨大变化。云功能/云运行功能主要用于支持非常短的微服务,我猜直接传输100MB并不被视为微服务。它也可能不像人们想象的那样具有成本效益。据我所知,云功能每使用一个单位的时间就要付费。传输100MBs可能是一种延迟缓慢的提议,与我们认为的始终运行计算相比,可能没有那么划算。

不要试图以几十/百KBs以上的速度将文件从云功能传输给用户。使用签名URL,以便用户可以直接从云存储下载。这可以节省您的计费带宽、云功能带来的麻烦,并提高您的安全性。如果这是不可接受的,科尔班的回答是另一个好的选择。云存储通常是作为设计的一部分部署的正确服务@约翰汉利你好。我们不能使用签名url方法,因为我们需要在将文件提供给用户之前对其进行处理。因此,我们需要一个实体(在本例中是云函数)来处理文件,然后将其提供给用户。您的用例不是一个微服务。您需要一个具有网络带宽的计算平台。我仍然不会在任何计算平台上服务。读取、处理和写回云存储。从云存储交付。