gpt4 book ai didi

python - 从 Twisted 上传到 GCS

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:21 24 4
gpt4 key购买 nike

我需要将文件从扭曲的应用程序放入 Google 的云存储中。

我一直在使用亚马逊和 txAWS但现在我正在使用 GCS,我不确定是否存在任何东西可以让我这样做?

是否可以使用txAWS与GCS?这听起来像是一个奇怪的问题,但可以使用 botoS3Connection与 GCS 所以也许有一种方法可以对 txAWS 执行相同的操作?

最佳答案

我建议使用 Twisted Web clientGCS JSON API 。以下是列出存储桶内容的示例:

import json
from twisted.internet import reactor
from twisted.internet.defer import Deferred
from twisted.internet.protocol import Protocol
from twisted.web.client import Agent
from twisted.web.error import Error
from twisted.web.http_headers import Headers

GCS_BASE_URL = 'https://www.googleapis.com/storage/v1beta1'
GCS_API_KEY = '<your-api-key>'
GCS_BUCKET = '<your-bucket>'

class ResponseAccumulate(Protocol):
def __init__(self, finished):
self.finished = finished
self.fullbuffer = ''

def dataReceived(self, bytes):
print 'Received %d bytes.' % len(bytes)
self.fullbuffer += bytes

def connectionLost(self, reason):
if isinstance(reason, Error):
print 'Finished receiving body:', reason.getErrorMessage()
else:
parsed = json.loads(self.fullbuffer)
print 'Bucket contents:'
for item in parsed['items']:
print ' ', item['id']
self.finished.callback(None)

agent = Agent(reactor)

d = agent.request(
'GET',
'%s/b/%s/o?key=%s' % (GCS_BASE_URL, GCS_BUCKET, GCS_API_KEY),
Headers({'User-Agent': ['Twisted Web Client Example']}),
None)

def cbResponse(response):
print 'Response received', response.code
finished = Deferred()
response.deliverBody(ResponseAccumulate(finished))
return finished
d.addCallback(cbResponse)

def cbShutdown(ignored):
reactor.stop()
d.addBoth(cbShutdown)

reactor.run()

关于python - 从 Twisted 上传到 GCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13864448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com