gpt4 book ai didi

django - 如何配置 django 以使用 Google Cloud CDN 为媒体文件生成签名 url?

转载 作者:行者123 更新时间:2023-12-05 01:40:26 28 4
gpt4 key购买 nike

我正在从事一个需要从 Google Cloud CDN 加载媒体文件的项目。目前,我正在以 urls 的形式加载文件 - cdn.mydomain.com/image.jpg 。但这需要提供对该对象的公共(public)访问。我需要生成签名的 url 以安全访问这些资源。我检查了 django-storages。它直接从存储桶提供签名 url,但没有说明 CDN 的签名 url。如何在 django 中为 Google Cloud CDN 生成签名 url 并继续使用 django-storages 库?

最佳答案

我最终写了一个存储后端。 settings.CUSTOM_DOMAIN 是 CDN 的地址。我的后端代码如下-

class CustomGoogleCloudStorage(GoogleCloudStorage):
custom_domain = settings.CUSTOM_DOMAIN

def make_url(self, name):
host = "https://" + self.custom_domain
return urllib.parse.urljoin(host, name)

def url(self, name):
name = self._normalize_name(name)
url = self.make_url(name)
key_name, base64_key = get_storage_key()
expiration_time = datetime.datetime.utcnow() + datetime.timedelta(hours=1) #put your desired time here
return sign_url(url, key_name, base64_key, expiration_time)

sign_url 函数取自 GCP's github .

关于django - 如何配置 django 以使用 Google Cloud CDN 为媒体文件生成签名 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56628595/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com