通过python将JSON上传到谷歌云存储 [英] Uploading a JSON to google cloud storage via python
本文介绍了通过python将JSON上传到谷歌云存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将 JSON 上传到谷歌云存储.我可以手动完成,所以我知道它可以工作,但现在想编写一个可以自动完成的 python 脚本.
I am trying to upload a JSON I have to google cloud storage. I can do it manually so I know it works but now want to write a python script that will do it automatically.
import boto
import gcs_oauth2_boto_plugin
import os
import shutil
import StringIO
import tempfile
import time
from google.cloud import storage
from google.cloud.storage import blob
client = storage.Client(project='dataworks-356fa')
bucket = client.get_bucket('dataworks-356fa-backups')
blob = bucket.blob('t.json')
with open('t.json', 'rb') as f:
blob.upload_from_file('f')
是我到目前为止的代码,这是我得到的错误.
is the code I have so far and this is the error I am getting.
Traceback (most recent call last):
File "uploadcloud.py", line 16, in <module>
blob.upload_from_file('f')
File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 891, in upload_from_file
client, file_obj, content_type, size, num_retries)
File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 815, in _do_upload
client, stream, content_type, size, num_retries)
File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 634, in _do_multipart_upload
data = stream.read()
AttributeError: 'str' object has no attribute 'read'
推荐答案
您应该将打开的文件传递给 upload_from_file
而不是字符串,只需更改为
You should pass an opened file to upload_from_file
not string, just change to
with open('t.json', 'rb') as f:
blob.upload_from_file(f)
这篇关于通过python将JSON上传到谷歌云存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文