Google云端平台:如何获取使用Python将对象放入Google Cloud Store的签名网址

问题描述 投票:2回答:1

我正在使用google-api-python-client,但无法在如何创建签名的PUT URL方面取得任何进展,只是为了将对象直接上传到Google云端存储分区。关于如何使用最新版本的Google Python客户端获取签名URL,没有一致的文档。

python google-cloud-platform google-cloud-storage google-api-client
1个回答
4
投票

我使用了谷歌云存储库。我推荐它作为谷歌的支持,并提取签名网址舞蹈中的一些复杂性

首先获得证书https://console.developers.google.com/

将证书保存到您的项目中

安装谷歌云库

pip install google-cloud-storage==1.9.0

导入generate_signed_url和google.storage,然后使用证书初始化存储客户端并访问存储桶

from google.cloud.storage._signing import generate_signed_url
from google.cloud import storage

client = storage.Client.from_service_account_json('path/to/certificate.json')

expiration = datetime.datetime.now() + datetime.timedelta(days=1)
API_ACCESS_ENDPOINT = 'https://storage.googleapis.com'
canonical_resource = bucketpath + "resource.jpeg"

url = generate_signed_url(
    client._credentials, resource=canonical_resource,
    api_access_endpoint=API_ACCESS_ENDPOINT,
    expiration=expiration, method="PUT",
    content_type="jpeg"
)
print(url)

完整文档https://googleapis.github.io/google-cloud-python/latest/storage/client.html

© www.soinside.com 2019 - 2024. All rights reserved.