Python 文件上传到 Google 云存储桶返回 Broken Pipe 错误

标签 python python-3.x google-cloud-platform google-cloud-storage broken-pipe

我正在尝试使用 Python 将文件上传到 Google 云存储 Bucket。之前工作正常,但突然返回错误。

这是我的代码:

来自views.py:

def perform_upload(video, thumbnail):
    print('vdieo name is: {}'.format(video))
    servise = discovery.build('storage', 'v1', credentials=credentials)
    bucket_name = 'test_bucket004'
    print('Uploading the video...')
    media = MediaFileUpload(video, chunksize=4149304, mimetype='video/mp4',
                        resumable=True)
    req = servise.objects().insert(
        bucket=bucket_name,
        name=str(video),
        media_body=media,
        body={"cacheControl": "public,max-age=31536000"},
        predefinedAcl='publicRead'
    )
    resp = None
    while resp is None:
        status, resp = req.next_chunk()
    print(resp)

这是它返回的内容:

BrokenPipeError: [Errno 32] Broken pipe

[22/Sep/2018 04:56:50] "POST /api/convert/ HTTP/1.1" 500 15981

和指向此行的回溯:

  status, resp = req.next_chunk()

可能出了什么问题? 如何解决此“管道损坏”错误?

提前致谢!

最佳答案

当您的网络连接(以及与 GCS 的连接)由于某种原因不稳定时,就会发生这种情况。我建议在具有更稳定互联网连接的环境中重试此操作(从 WiFi 切换到有线连接、删除中间代理或防火墙等)。

关于Python 文件上传到 Google 云存储桶返回 Broken Pipe 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52453654/

相关文章:

python - 从一组点 PYTHON 绘制拉格朗日多项式

python - 在 Google 云存储桶中使用 PIL 更改图像大小(从 GCloud 中的虚拟机)

python - vscode 启动的许多 rg 命令占用 99% 的 CPU

python - 排除匹配模式中的一列

python - 通过 2to3 将 selenium.py 转换为 python 3

python - 为 Python 2 解压打印列表

node.js - 使用 Cloud Functions for Firebase 和 @google-cloud/storage 删除图像时出现问题

azure - Google Cloud 相当于 Azure 特权身份管理 (PIM)

python - 如何更改 PyQT 中 QGraphicsView 中的图像?

python - 在 Windows python 中安装 Openalpr