我有一个相当老的AppEngine(python)应用程序,已经运行了好几年没有问题。
我使用任务队列将图像移至Google Cloud Storage。
我的代码正在使用GCS客户端(https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage)进行操作,基本上看起来像:
# open the file and write to it using the gcs client
f = gcs.open(filename, 'w')
f.write(blob)
f.close()
注意:文件名包含存储桶,因此实际上是'/ [bucketname] / abc123'
当我使用云控制台提供的工具“跟踪”问题时,可以看到URLFetch调用“ storage.googleapis.com”时引发了403错误。
我已经完成了将IAM权限添加到特定应用程序引擎(xyz@appspot.gserviceaccount.com)服务帐户的存储桶的过程。已将此帐户更改为“存储管理员”,但似乎没有任何区别。我还通过存储分区本身的权限添加了此角色。
所以我不确定为什么它不起作用...
有人对我可能做错了什么建议吗?这一切似乎确实令人困惑。
感谢您的任何帮助, 马特