Google Cloud Platform: как получить подписанный URL-адрес для размещения объекта в Google Cloud Store с помощью Python - PullRequest
0 голосов
/ 03 января 2019

Я использую google-api-python-client, но не могу добиться прогресса в создании подписанного PUT URL только для прямой загрузки объекта в Google Cloud Storage Bucket.Нет единой документации о том, как получить подписанный URL-адрес с помощью последней версии клиента Google Python.

1 Ответ

0 голосов
/ 04 января 2019

Я использовал библиотеку облачного хранилища Google. Я рекомендую его, так как он поддерживается Google и излагает некоторые сложности в подписанном танце URL

Сначала получите сертификат https://console.developers.google.com/

Сохранить сертификат для вашего проекта

Установить облачную библиотеку Google

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

...