Я использовал библиотеку облачного хранилища 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