繁体   English   中英

如何在使用谷歌云存储时在本地测试谷歌云 Function

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM