我正在使用django-storages和google-cloud-storage后端。
我目前拥有以下内容。
from django.conf import settings
from storages.backends.gcloud import GoogleCloudStorage
from storages.utils import clean_name
from django.conf import settings
class PublicImageUploadStorage(GoogleCloudStorage):
bucket_name = settings.IMAGES_BUCKET_NAME or None
file_overwrite = settings.IMAGES_OVERWRITE or True
def make_public(self, name):
name = self._normalize_name(clean_name(name))
blob = self._get_blob(self._encode_name(name))
return blob.make_public()
这很慢,因为它按名称查找blob对象然后返回它以便我可以将其公开。
在将对象保存到Google存储空间之前,将对象ACL 设置为公开读取的最有效方法是什么?