Как использовать подписанный url для загрузки файла GCS с помощью python/django (и, возможно, запросов)
Ниже приведено множество примеров загрузки файла в Google Cloud Storage (GCS) с помощью frontend/browser/js.
Однако, я не видел много примеров для загрузки файла в GCS с помощью python / django на стороне бэкенда.
Как я могу изменить следующий код, чтобы он использовал подписанный url для загрузки файла в GCS.
def Put(self, path, content_type, data):
"""Performs a PUT request.
Args:
path: The relative API path to access, e.g. '/bucket/object'.
content_type: The content type to assign to the upload.
data: The file data to upload to the new file.
Returns:
An instance of requests.Response containing the HTTP response.
"""
md5_digest = base64.b64encode(md5.new(data).digest())
base_url, query_params = self._MakeUrl('PUT', path, content_type,
md5_digest)
headers = {}
headers['Content-Type'] = content_type
headers['Content-Length'] = str(len(data))
headers['Content-MD5'] = md5_digest
return self.session.put(base_url, params=query_params, headers=headers,
data=data)