Python 为什么谷歌云存储函数从上传文件抛出超时错误?

Python 为什么谷歌云存储函数从上传文件抛出超时错误?,python,google-cloud-platform,google-cloud-storage,Python,Google Cloud Platform,Google Cloud Storage,我创建了一个适合我的函数,它将文件上传到谷歌云存储 问题是,当我的朋友尝试从他的本地机器使用相同的代码将相同的文件上载到同一个bucket时,他会出现超时错误。他的互联网非常好,他应该能够上传文件,在他的连接中没有问题 知道为什么会这样吗 def上传到云(文件路径): """ 将文件保存在谷歌存储中。因为谷歌要求在处理前将超过60秒的音频文件保存在云上 它总是保存在“音频文件存储桶”(文件夹)中 输入: 要保存的文件的路径 输出: 已保存文件的URI """ 打印(“上载到云…”) client

我创建了一个适合我的函数,它将文件上传到谷歌云存储

问题是,当我的朋友尝试从他的本地机器使用相同的代码将相同的文件上载到同一个bucket时,他会出现超时错误。他的互联网非常好,他应该能够上传文件,在他的连接中没有问题

知道为什么会这样吗

def上传到云(文件路径):
"""
将文件保存在谷歌存储中。因为谷歌要求在处理前将超过60秒的音频文件保存在云上
它总是保存在“音频文件存储桶”(文件夹)中
输入:
要保存的文件的路径
输出:
已保存文件的URI
"""
打印(“上载到云…”)
client=storage.client()。来自\u服务\u帐户\u json(键\u路径)
bucket=client.get_bucket('audio-files-bucket'))
file\u name=str(文件路径).split('\\')[-1]
打印(文件名)
blob=bucket.blob(文件名)
f=打开(文件路径“rb”)
blob.upload_from_文件(f)
f、 关闭()
打印(“上传地址:”,“gs://音频文件bucket/{}”。格式(文件名))
返回“gs://音频文件bucket/{}”。格式(文件名)
它通过上传文件(f)行中的超时异常


我们尝试使用upload\u from\u filename函数,但仍然出现相同的错误。

通过减小blob的块大小,问题得以解决。代码更改为:

def上传到云(文件路径):
"""
将文件保存在谷歌存储中。因为谷歌要求在处理前将超过60秒的音频文件保存在云上
它总是保存在“音频文件存储桶”(文件夹)中
输入:
要保存的文件的路径
输出:
已保存文件的URI
"""
打印(“上载到云…”)
client=storage.client()。来自\u服务\u帐户\u json(键\u路径)
bucket=client.get_bucket('audio-files-bucket'))
file\u name=str(文件路径).split('\\')[-1]
打印(文件名)
blob=bucket.blob(文件名)
##上传速度慢
storage.blob._DEFAULT_CHUNKSIZE=2097152 35; 1024*1024 B*2=2MB
storage.blob._MAX_MULTIPART_SIZE=2097152#2 MB
打开(文件路径“rb”)作为f:
blob.upload_from_文件(f)
打印(“上传地址:”,“gs://音频文件bucket/{}”。格式(文件名))
返回“gs://音频文件bucket/{}”。格式(文件名)

您的朋友是否设置了与您相同的环境?i、 e.他有同一服务帐户的json密钥,他正试图上载与您相同的文件,他有一个名为“rb”的文件夹,路径与您相同?@Chris32他有相同的密钥是。尝试相同的文件,它是12.5 MB。rb代表读取二进制文件,而不是文件夹。文件路径作为参数传递给函数。感谢您的回复。想知道这两种环境之间的更多差异吗,即不同,那么?如果是这种情况(即您使用windows,他使用linux来运行命令),您的frind是否可以包含file_name变量的打印?看起来他一次就收到了很多文件,因为上传的超时时间是60秒,12.5MB的网络连接是arround2Mbps@Chris32很抱歉,我们仍在试验中。通过减少存储blob的默认块大小,可以解决此问题。这对他起了作用。谢谢你的帮助!如果有100 KB的1百万个blob,我们如何使用它?在向上传功能传递1M对象时,我面临10次超时中的4次。@johnmich很抱歉我的回复太晚了。不幸的是,我不能帮助你。您是否为您的案例找到了解决方案?@Ramyy我还没有找到解决方案,我将尝试使用请求模块使用原始存储API,而不是使用官方的google云存储包。