[英]How to test aGoogle Cloud Function locally when it uses google cloud storage
我有一个云 function 我正在使用 functions_framework 在本地进行测试。
如果没有其他连接服务的要求,这可以正常工作,但是在本地开发时如何从我的 function 中的云存储读取文件。
这是本地 function 运行的快速示例
functions_framework --target=file_trigger
from google.cloud import storage
# Main entry point for the cloud function
def file_trigger(request):
event = {
'bucket': 'my-cloud-bucket',
'name': 'my-bucket-file.csv'
}
bucketName = event['bucket']
blobName = event['name']
storage_client = storage.Client()
bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(blob_name)
with blob.open("r") as f:
return f.read()
抛出的错误:
google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'})
将此作为社区 Wiki 发布:
遇到错误:
google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', {'error': 'invalid_grant', 'error_description': 'Token has been expired or revoked.'})
正如@JohnHanley 所述:
如果未在您的本地环境中正确登录,则会发生该错误。
要解决,请运行此命令:
gcloud auth application-default login
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.