0

私はgs://形式のパスを取得する必要があるapiを使用してGoogleクラウド機能を作成するスクリプトを作成していますストレージバケットやオブジェクト、ここでGCSでのストレージのバケットとオブジェクトの取得Python APIクライアントを使用したGCSのバケットとオブジェクト

は私がしようとしているものです:私はパスを取得する方法を、//:

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の形で任意のリンクが含まれていないメタデータを返します。バケットORオブジェクトに"gs://"

私を助けてください!

ありがとうございます!

答えて

1

API Explorerにアクセスしてリクエストをシミュレートすると、このライブラリがまったく同じ出力をPythonデータ構造体に返すことがわかります。

"id": "test-bucket/text.txt/0000000000000000" 

またはPythonで、それは次のようになります:gs://リンクにそれを変換するために、この

u'id': u'test-bucket/text.txt/00000000000000000' 

簡単な使用:

import os 
u'gs://' + os.path.dirname(svc_response['id']) 

たがIDでgs://リンクのようにほとんどに見えます戻り値:

u'gs://test-bucket/text.txt' 

google-cloud-pythonを使用する場合は、同じ問題に直面します。

+0

こんにちは、@ A.Queue!本当にあなたの答えをありがとう、私は、私はAPIを使用して関数を作成する必要があるPythonでクラウド関数のAPIに取り組んでいる、私は 'req_body = { " name ":func_obj: fnameは、 "エントリポイント":func_obj.entryPoint、 "タイムアウト":「60年代、 "availableMemoryMb":func_obj.fmemory、 "sourceArchiveUrl":メディアリンク、 } 'それは返す**要求がエラーを持っている**缶あなたはこれに関して私を助けてください! –

+0

またはこの質問をご覧ください。 https://stackoverflow.com/q/47376380/7644562 –

関連する問題