我想使用"file.json"下载文件它包含了所有的url。在这里,我试图在Python中使用这些代码,但是我得到这个错误:
"code":400,"message":"Bucket is requester pays bucket but no user project provided"
当我创建GCP帐户时,我已经设置了我的账单详细信息。我真的不知道如何解决它。我不是这桶的主人。我有权限从桶中获取数据。Python代码:
import os
from google.cloud.bigquery.client import Client
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path/to/key.json'
bq_client = Client()
import json
from google.cloud import storage
client = storage.Client(project='my_projectID')
bucket = client.get_bucket('the_bucket')
file_json = bucket.get_blob('file.json')
data = json.loads(file_json.download_as_string())
您需要在请求中提供user_project,这是一个您拥有计费权限的gcp项目。这些请求将被分配到该项目。
您可以在这里找到python代码示例:https://cloud.google.com/storage/docs/using-requester-pays#using
bucket = storage_client.bucket(bucket_name, user_project=project_id)
在这里查看您在user_project中需要哪些权限:https://cloud.google.com/storage/docs/requester-pays#requirements
serviceusage.services.use