使用Python api客户端在GCS上检索存储桶和对象的gs://路径
我正在编写一个使用api创建google云函数的脚本,在这个脚本中,我需要获取存储桶或对象的路径的gs://形式 以下是我尝试过的:使用Python api客户端在GCS上检索存储桶和对象的gs://路径,python,google-cloud-platform,google-cloud-storage,google-api-python-client,Python,Google Cloud Platform,Google Cloud Storage,Google Api Python Client,我正在编写一个使用api创建google云函数的脚本,在这个脚本中,我需要获取存储桶或对象的路径的gs://形式 以下是我尝试过的: svc = discovery.build('storage', 'v1', http=views.getauth(), cache_discovery=False) svc_req = svc.objects().get(bucket=func_obj.bucket, object=func_obj.fname, projection='
svc = discovery.build('storage', 'v1', http=views.getauth(), cache_discovery=False)
svc_req = svc.objects().get(bucket=func_obj.bucket, object=func_obj.fname, projection='full')
svc_response = svc_req.execute()
print(' Metadata is coming below:')
print(svc_response)
它返回不包含任何链接的元数据(格式为gs://),如何获取指向“gs://”格式的bucket或对象的路径
请帮帮我
提前谢谢 如果转到并模拟您的请求,您将看到该库以python数据结构返回完全相同的输出。在那里,ID看起来最像gs://
链接:
"id": "test-bucket/text.txt/0000000000000000"
import os
u'gs://' + os.path.dirname(svc_response['id'])
或者在python中,它看起来像:
u'id': u'test-bucket/text.txt/00000000000000000'
只需将其转换为gs://
链接:
"id": "test-bucket/text.txt/0000000000000000"
import os
u'gs://' + os.path.dirname(svc_response['id'])
这将返回:
u'gs://test-bucket/text.txt'
如果您想使用,您将面临同样的问题。Hi,@A.Queue!感谢您的回答,实际上我正在用python编写云函数API,在其中我需要使用API创建一个函数,我正在发送一个请求,请求体为:
req_body={“name”:func_obj.fname,“entryPoint”:func_obj.entryPoint,“timeout”:'60s',“availableMemoryMb”:func_obj.fmemory,“sourceArchiveUrl”:mediaLink,}
但它返回的请求有错误。您能帮我解决这个问题吗!或者请看一看这个问题!