S3 разрешить публичный каталог родительской папки?


В настоящее время у меня есть публичные разрешения для одного из моих ведер S3, например:

{
    "Version": "2012-10-17",
    "Id": "Policy1493660686651",
    "Statement": [
        {
            "Sid": "Stmt1493660682556",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::polodata/*"
        }
    ]
}

Когда пользователь переходит к определенному файлу, например: https://s3-us-west-2.amazonaws.com/polodata/ETHBTC.csv, он предлагает пользователю загрузить-что нормально. Однако, когда они переходят к: https://s3-us-west-2.amazonaws.com/polodata/ (без указанного файла), он возвращает XML-страницу.

Что мне нужно изменить, чтобы последний вернул страницу списка каталогов?

1 3

1 ответ:

Вы не получите страницу списка каталогов из Amazon S3 при доступе к URL-адресу. Наиболее близким является XML-список объектов, для которых необходимо предоставить разрешение ListObjects на политику корзины. Это выглядит так:

Этот XML-файл, по-видимому, не содержит никакой информации о стиле, связанной с ним. Дерево документов показано ниже.

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>my-bucket</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>foo.txt</Key>
    <LastModified>2017-05-01T21:07:13.000Z</LastModified>
    <ETag>"9311482f31be49fb2f41be9e16097a9c"</ETag>
    <Size>213</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>my-folder/</Key>
    <LastModified>2017-05-01T21:07:18.000Z</LastModified>
    <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
    <Size>0</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>my-folder/bar.txt</Key>
    <LastModified>2017-05-01T21:07:30.000Z</LastModified>
    <ETag>"9311482f31be49fb2f41be9e16097a9c"</ETag>
    <Size>213</Size>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Некоторые люди придумали творческие способы имитации списка каталогов, например: список каталогов в S3 Static Сайт

Помните-Amazon S3 не является традиционным веб-сервером. Этослужба хранения объектов , которая также может обслуживать контент в Интернете. Таким образом, он не будет вести себя точно так же, как обычный веб-сервер.

Смотрите также: Как настроить корзину S3 для статического хостинга веб-сайтов?