问题描述
我是 GCP 及其客户端库的新手。我无法使用 C++ 谷歌云客户端库将文件从 FTP 服务器上传到谷歌云存储桶。当我尝试将文件“storage_object_file_transfer_samples.cc”(在 google-cloud-cpp 中提供,该文件的链接为 here )作为可执行文件运行时,它抛出了一个错误。 错误是“引发标准异常:无法打开上传文件源”。 GCP 是否支持连接外部 FTP 服务器?如果支持连接,我们如何使用C++客户端库将文件从FTP服务器上传到GCS?
解决方法
GCP 是否支持连接外部 FTP 服务器?
这在文档中有解释,Client::UploadFile
仅支持常规文件系统文件:
UploadFile()
将文件上传到对象。
注意:仅支持常规文件。如果您需要上传 读取设备、命名管道、FIFO 或其他类型文件的结果 不是常规文件的系统对象,则 WriteObject() 是 可能是更好的选择。
所以没有 FTP。
使用 libcurl
等第三方库从 FTP 下载,使用 client.WriteObject()
将其流式传输到 GCP。