Python-使用Json解析在云存储中创建Json文件

Python-使用Json解析在云存储中创建Json文件,python,json,parsing,google-cloud-storage,Python,Json,Parsing,Google Cloud Storage,我从SQLServer数据库获取数据,并将数据保存到json格式的变量中。我当然希望直接在云存储中创建json文件,而不必在本地机器上创建json文件。有可能吗 我能够在本地机器上创建一个json文件,但我想忽略这一步,在脚本中创建一个json对象,而不是在本地机器上创建文件,然后直接在云存储中创建一个文件 #Libraries import io, json, codecs import pyodbc import logging import os import cloudstorage a

我从SQLServer数据库获取数据,并将数据保存到json格式的变量中。我当然希望直接在云存储中创建json文件,而不必在本地机器上创建json文件。有可能吗

我能够在本地机器上创建一个json文件,但我想忽略这一步,在脚本中创建一个json对象,而不是在本地机器上创建文件,然后直接在云存储中创建一个文件

#Libraries
import io, json, codecs
import pyodbc
import logging
import os
import cloudstorage as gcs
import gcloud
from gcloud import storage
from google.cloud import bigquery
import pandas as pd
from gcloud.bigquery import SchemaField
import os
from googleapiclient import discovery

#Path variable
try:
    script_path = os.path.dirname(os.path.abspath(__file__)) + "/"
except:
    script_path = "C:\\Users\\userl\\Documents\\auth.json"

#Bigquery Credentials and settings
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = script_path 

db = pyodbc.connect("DRIVER={SQL Server};server=10.0.1.1;database=blablabla;uid=xpto;pwd=xxx")
cursor = db.cursor()
SQLview = 'select * from test'
result = cursor.execute(SQLview)

items = [dict(zip([key[0] for key in cursor.description], row)) for row in result]

json_file = json.dumps(items, ensure_ascii=False).encode('utf-8')


client = storage.Client(project='big-data')
bucket = client.get_bucket('big-data-bkt')
blob = bucket.blob(json_file)
with open('dict_obj.json', 'rb') as f:
    blob.upload_from_file(f)

这是可能的,您必须使用第三方boto客户端库插件,用于云存储并支持流传输

要执行流式上载,请使用以下代码:

dst_uri=boto.storage_uri(+'/'+,'gs')

dst_uri.new_key().set_contents_from_stream()

请查看以下链接: