Как использовать подписанный 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)
Вернуться на верх