【问题标题】:Not able to read file content from google cloud storage in app engine无法从应用引擎中的谷歌云存储中读取文件内容
【发布时间】:2017-06-20 01:10:43
【问题描述】:

当我尝试从 Google Cloud Storage(App Engine、Python、标准环境)读取文件内容(纯文本)时,我得到以下跟踪:

raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(13, 'Permission denied'))

虽然设置了“公开共享”,但我在默认存储桶中工作(据我了解,该应用程序应具有完全权限)并且我能够将内容写入/上传到同一文件。

作为附加信息,我正在使用 GAE 开发服务器从 http 路由触发请求。

你能指出我正确的方向吗? :D

代码如下:

def getDatastoreClient():
    projectId = 'xxxxxx'
    return storage.Client(projectId)

def readFileFromBucket(filename):
    # Instantiates a client
    storage_client = getDatastoreClient()

    # Creates the new bucket
    bucket = storage_client.get_bucket(BUCKETNAME)
    blob = bucket.get_blob(filename)
    return blob.download_as_string()

【问题讨论】:

  • 您使用的是哪个版本的requests?恢复到 v2.3 看看是否可以解决问题。
  • 哇!实际上它确实有帮助,这是什么意思?我一直在使用 2.17.3,我也尝试过 2.18...

标签: python google-app-engine


【解决方案1】:

requests 的最新版本尚不兼容 GCS。现在,将您的 requests 包降级到 v2.3.0。或者,切换到使用 GAE 的 urlfetch

【讨论】:

    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 2014-10-30
    • 2015-02-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多