Метод загрузки в облачное хранилище Google возвращает подписанный URL. Django python

Это мой метод загрузки изображения

from storages.backends.gcloud import GoogleCloudStorage

storage = GoogleCloudStorage()


def upload_image(file, dir_name, filename):
    try:
        target_path = '/static/images/' + dir_name + '/' + filename
        path = storage.save(target_path, file)
        return storage.url(path)
    except Exception as e:
        print(e)

Это мои настройки в django settings.py

DEFAULT_FILE_STORAGE = 'storages.backends.gcloud.GoogleCloudStorage'
GS_BUCKET_NAME = 'bucket name'
GS_PROJECT_ID = "project id"

GS_CREDENTIALS = service_account.Credentials.from_service_account_file(
    os.path.join(BASE_DIR,'google_cloud_credientials.json')
)

Я использовал это руководство для справки https://medium.com/@mohammedabuiriban/how-to-use-google-cloud-storage-with-django-application-ff698f5a740f

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

Я хочу иметь публичный URL, который будет доступен в любое время.

Единственный вариант URL, срок действия которого не истекает, - сделать объект общедоступным и использовать конечную точку Google Cloud Storage в таком формате:

https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME

Ссылка на этот документ:

Google Cloud Storage: Сделать данные общедоступными

Вернуться на верх