Статьи

Работа с Amazon S3 — Часть I

Вступление

В этой серии из нескольких частей я расскажу вам об услуге Amazon S3.

В первой части вы познакомитесь с основами сервиса Amazon S3 и почему его следует использовать. Позже мы пройдем через S3 Web Management Console, которая является интерфейсом веб-сайта для S3.

В следующих частях этой статьи мы получим программный доступ к S3 через интерфейс REST и NodeJS SDK (модуль S3 npm), обеспечив безопасность контента в Amazon S3.

Что такое Amazon S3

s0

Сервис Amazon Simple Storage, более известный как Amazon S3 . Это хранилище как сервисное решение и предоставляет простой интерфейс для хранения и извлечения данных в облаке.

Другими словами, он обеспечивает инфраструктуру для любых потребностей хранения приложений. Ваше приложение может хранить и извлекать файлы большего размера до 5 ТБ, что быстро, эффективно и надежно. Кроме того, он предоставляет удобные интерфейсы для доступа, такие как веб-консоль управления для доступа из веб-браузеров, а также интерфейс REST API и SOAP через программно

Зачем использовать Amazon S3

  • Это достаточно быстро, чтобы поддерживать высокопроизводительные приложения.
  • Это недорого. Первоначальная настройка не требует никаких затрат. Но позже, когда объем хранилища возрастет, вы сможете заплатить за то, что используете, что очень дешево.
  • Это очень безопасно, оно предоставляет инструменты контроля доступа, чтобы полностью обеспечить безопасность ваших ресурсов, хранящихся на s3
  • Поскольку хранилище файлов хранится на S3, это делает основное приложение легче и быстрее реагирует на другие запросы.
  • Это обеспечивает лучшую масштабируемость с точки зрения хранения, частоты запросов.
  • Это безопасно. Весь доступ происходит через HTTPS
  • Хорошо интегрируется с другими сервисами Amazon AWS
  • Он используется крупными игроками, такими как Dropbox, для хранения своих бэкэндов

Основные блоки Amazon S3

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

При работе с Amazon S3 следующие два основных блока являются основой Amazon S3, которые вам необходимо знать:

Ковши

Контейнеры являются основным контейнером для хранения данных. Каждый объект хранится в ведре. Каждое ведро может иметь любое нет. объектов данных, хранящихся внутри него. Название ковша уникально для Amazon S3. Итак, тщательно называйте ведро, как только оно будет создано. его нельзя переименовать.

С помощью следующих двух форматов можно получить доступ к сегментам. Ниже приводится формат имени URL-адреса сегмента в виде субдомена http: // <имя-сегмента> .s3.amazonaws.com / <имя-объекта> или имя сегмента в виде пути http: //s3.amazonaws.com/ <имя- корзины > / <имя-объекта>

Где bucket-name — это имя bucket. Object-name — это имя объекта, которое хранится внутри bucket. Например,. мы сохранили файл фотографий в корзине Mypics, а затем https://mypics.s3.amazonaws.com/photo.png

Контейнеры предоставляют пространство имен на более высоком уровне и способ организации объектов данных, хранящихся внутри s3. Кроме того, вы можете применить контроль доступа к корзине для ограничения доступа, создавая политики вокруг него.

Объекты

Объекты — это базовые объекты, хранящиеся в Amazon S3. Объекты хранятся в ведрах.

Объект состоит из данных и метаданных. Часть данных может быть чем угодно, но метаданные, как правило, представляют собой набор пар ключ-значение, которые описывают объект. Эти метаданные могут быть общими вещами, такими как дата создания, изменения даты, mime-тип или пользовательские метаданные.

Таким образом, как пользователь, вы можете читать, записывать, удалять объекты данных внутри корзины с помощью простого интерфейса веб-служб, который очень прост в использовании, и любой может начать работу с ним в кратчайшие сроки.

Доступ к Amazon S3 с помощью веб-консоли управления

Как было сказано ранее, мы получим доступ к Amazon S3 с помощью веб-консоли управления, которая является интерфейсом веб-сайта для S3. Если у вас нет учетной записи AWS, зарегистрируйтесь

Если у вас нет учетной записи AWS, зарегистрируйтесь здесь или войдите, если у вас уже есть учетная запись.

После этого вы будете перенаправлены на доступ к консоли AWS здесь , которая предоставляет обзор услуг, предоставляемых Amazon AWS. Нас интересует S3, поэтому нажмите S3 в категории «Хранение и доставка контента».

или же

После успешного входа, получите доступ к S3 здесь , вы увидите что-то вроде следующего:

(У меня уже есть учетная запись amazon s3, поэтому я уже создал несколько корзин. В вашем случае, если вы новый пользователь, вы ничего не увидите)

s1

Веб-интерфейс простой и очень минимальный, имеющий только необходимые функциональные возможности. С другой стороны, у нас есть список корзин, созданных в вашей учетной записи. правая панель является плавающей, то есть предоставляет информацию о различных аспектах, таких как такие свойства (метаданные) корзины, метаданные объектов и т. д.

слева, у нас есть список корзин, созданных в вашем аккаунте. правая панель является плавающей, то есть предоставляет информацию о различных аспектах, таких как такие свойства (метаданные) корзины, метаданные объектов и т. д.

Создание ведра

Теперь давайте создадим ведро. Нажмите жирную синюю кнопку «Создать ведро» в верхнем левом углу, как показано на рисунке выше.

s2

При нажатии вы увидите модальный, как показано на следующем рисунке, для установки основных деталей:

s3

Назовите корзину как хотите, и выберите соответствующий регион:

s4

После этого будет создан контейнер, который будет отображаться на левой панели, как показано на следующем рисунке:

s5

Теперь для нашего bucket tags-dev у него теперь есть уникальный URL, к которому мы можем получить доступ к содержимому внутри него следующим образом — https://tags-dev.s3.amazonaws.com/photo.png

Давайте, войдем в созданное ведро, щелкнув по списку, оно сначала будет отображаться пустым, поскольку у нас ничего внутри нет.

s6

Загрузка контента

Пришло время поместить немного содержимого в это. Давайте загрузим несколько файлов. Также мы создадим папки внутри для дальнейшей организации объектов.

Теперь я загрузил два файла в корзину S3 и создал папку с именем «tags», как показано ниже:

Я создал папку из левого верхнего угла из белой кнопки с именем «Создать папку»:

s7

Панель справа показывает прогресс передачи загрузки для каждого загруженного вами файла.

Я также загрузил файл в папку «tags»:

s8

Папка внутри корзины дает дополнительное пространство имен для организации содержимого внутри корзины. У нас может быть столько папок, сколько мы хотим, в ведре. Даже вложение папок также мы можем сделать.

Теперь загрузка завершена, давайте попробуем получить доступ к файлам следующим образом:

Теперь, если вы попытались получить доступ к загруженному вами файлу, вы не сможете получить к нему доступ. Это связано с тем, что корзины изначально доступны всем по URL-адресу, у нас есть политика «только чтение», которая ведет к следующей теме.

Конфигурирование политик ведра

Ниже приведены шаги для создания политики сегмента:

  • Нажмите на ссылку Все ведра в крошке вверху слева, которая покажет все все ведра в левой панели.
  • Щелкните правой кнопкой мыши на нашем интересном сегменте, в нашем случае «tags-dev», затем в меню выберите «Свойства»
  • Теперь на правой панели у нас будут Свойства выбранного сегмента, как показано на следующем рисунке:

s9

  • Теперь на правой панели нажмите на категорию разрешений, которая развернется, чтобы предоставить инструменты контроля доступа для корзины:

s10

К ним относятся «Добавить дополнительные разрешения», «Добавить политику корзины», «Добавить конфигурации CORS».

Теперь, для этой статьи, я займусь только добавлением политики корзины.

  • Итак, давайте создадим политику сегмента только для чтения. Что очень часто дает доступ к ресурсам. Нажмите кнопку «Добавить политику корзины», откроется следующее:

s11

А пока, идите вперед и вставьте следующее, а также замените название вашего сегмента вместо «ExampleBucket»

01
02
03
04
05
06
07
08
09
10
11
12
{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::ExampleBucket/*"]
    }
  ]
}

Нажмите кнопку Сохранить, которая создаст политику для bucketNow, если вы попытаетесь обработать любой объект внутри корзины, он получит к нему доступ. https://s3.amazonaws.com/tags-dev/s1.png

Удаление ведра

Наконец, вы можете удалить любые объекты, это можно сделать, щелкнув правой кнопкой мыши по файлу, и откроется контекстное меню, которое отображается следующим образом:

s12

Для удаления корзины необходимо очистить корзину. т.е. удалить все объекты внутри него. Затем вы можете удалить его, щелкнув правой кнопкой мыши и выбрав опцию Удалить. Что показано ниже:

s13

Это было много, и это конец первой части статьи.

Вывод

В этой статье мы увидели базовые блоки Amazon S3, почему их следует использовать. и после этого мы попытались получить доступ к интерфейсу Amazon S3 Infrastructure, который является консолью Web Management.

В котором мы рассмотрели некоторые основы создания блоков, загрузки файлов, предоставления им доступа только для чтения и, наконец, удаления объектов и блоков.

Следите за следующей статьей, в которой мы пройдем через программный доступ к Amazon S3 с интерфейсом REST и модулем NodeJS.

Ссылка: Работа с Amazon S3 — часть I от нашего партнера JCG Абхиджита Сутара в блоге ajduke .