Chris Streeter  committed a7e0659

Prevent listing huge buckets on S3.

Previously, in when `AWS_PRELOAD_METADATA` is True,
`S3BotoStorage.entries` would list every file in the bucket. However,
if there is a `location` specified on the storage, we don't use the
whole storage bucket with that storage backend. So pass our `location`
as the `prefix` to the call to `entries`.

  • Participants
  • Parent commits fc4deda
  • Branches default

Comments (0)

Files changed (1)

File storages/backends/

         if self.preload_metadata and not self._entries:
             self._entries = dict((self._decode_name(entry.key), entry)
-                                for entry in self.bucket.list())
+                                for entry in self.bucket.list(prefix=self.location))
         return self._entries
     def _get_access_keys(self):