Webhooks
С Webhooks для S3, используя API, можно настраивать отправку таких HTTP и HTTPS запросов по событиям для бакета, как: обработка и конвертирование файлов после загрузки; интегрирование с разными внешними системами; логирование для объектного хранилища. События (Event), для которых можно настроить конфигурацию Webhooks: s3:ObjectCreated:* — PutObject, PutObjectCopy, CompleteMultipartUpload. s3:ObjectCreated:Put — PutObject. s3:ObjectCreated:Copy — PutObjectCopy. s3:ObjectCreated:CompleteMultipartUpload — […]
Prefix access keys
Описание Если необходимо создать пользователей, которым доступ будет ограничен по определенному пути, следует использовать префиксные ключи (prefix access keys). Пользователи будут привязаны только к бакетам относительно которых работает их префикс. Используя префиксные ключи, нужно знать об ограничениях: пользователь может быть привязан только к 1 бакету (при создании); пользователь не будет иметь доступ к другим бакетам […]
Загрузка конфигурации CORS
Чтобы загрузить конфигурацию CORS, нужно сформировать XML-документ. Список методов для конфигураций CORS бакета: Get Bucket CORS — получить список конфигураций CORS для бакета. Set Bucket CORS — установить конфигурацию CORS. Delete Bucket CORS — удалить конфигурацию CORS. Общий вид XML конфигурации CORS 1<CORSConfiguration> 2 <CORSRule> 3 <AllowedOrigin>URL</AllowedOrigin> 4 […]
Lifecycle
Список методов для работы с жизненным циклом объектов: Get Buket Lifecycle Configuration — просмотр конфигурации жизненного цикла в бакете. Configure Buket Lifecycle — настройка правил конфигурации жизненного цикла. Delete Buket Lifecycle — удаление конфигурации жизненного цикла. Общий вид конфигурации: 1<LifecycleConfiguration> 2 <Rule> 3 <ID>Описание правила</ID> 4 <Status>{Enabled|Disabled}</Status> 5 […]
Multipart
Благодаря составной или многокомпонентной загрузке объекты в Объектном хранилище Linx S3 можно сохранять по частям. Стоит использовать составную загрузку для объектов от 100 МБ. Шаги многокомпонентной загрузки: Initiate Multipart Upload — инициализация загрузки. Upload Part — загрузка объекта по частям. Complete Multipart Upload — завершение загрузки путем объединения ранее загруженных частей. Abort Multipart Upload — […]
ACL
С помощью ACL (Access Control List) можно контролировать то, какие именно операции будут разрешены определенным пользователям. ACL может стоять как и на уровне всего бакета, так и на уровне конкретного объекта. Установить и прочесть ACL можно через приведенные методы ниже. Список операций с ACL: Get Bucket ACL — Получить ACL для бакета Put Bucket ACL […]
Object
Список операцией, которые можно выполнять с объектами: Get — скачать объект из бакета Upload — загрузить объект в бакет Copy — скопировать объект из бакета HeadObject — посмотреть информацию об объекте Delete — удалить объект из бакета DeleteMultipleObjects — удалить группу объектов по списку У операций с бакетами существуют типовые сообщения об ошибках, заголовки запросов […]
Bucket
У операций с бакетами есть типовые и специальные сообщения об ошибках, заголовки запросов и заголовки ответов, если они специальные, то это будет написано в описании операции. Список операций с бакетами: Create — создать бакет. ListBuckets — получить список бакетов. HeadBucket — проверка наличия бакета и доступа к нему. ListObjects — получить список объектов бакета. DeleteBucket […]
Общая информация
LinxCloud предоставляет RESTful XML API для программного управления хранимыми данными с помощью стандартных HTTP-запросов. API-интерфейс совместим с API-интерфейсом Amazon AWS S3, что позволяет взаимодействовать с сервисом, используя уже известные инструменты. Протокол для сервиса AWS S3 (Simple Storage Service), созданный Amazon Web Services, является основным протоколом доступа к объектному хранилищу. S3 API — это команд, распознаваемые […]
Операции с объектами
После предварительных настроек можно начать работу с объектами S3. Загрузка объекта Объект можно загрузить в бакет при помощи команды: import boto3 session = boto3.session.Session() s3_client = session.client( service_name=’s3′, endpoint_url=’https://hb.bizmrg.com’ ) test_bucket_name = ‘boto3-test-bucket-name’ #Загрузка данных из строки s3_client.put_object(Body=’TEST_TEXT_TEST_TEXT’, Bucket=test_bucket_name, Key=’test_file.txt’) #Загрузка локального файла s3_client.upload_file(‘some_test_file_from_local.txt’, test_bucket_name, ‘copy_some_test_file.txt’) #Загрузка локального файла в […]
Операции с бакетами
После предварительных настроек можно начать работу с бакетами S3. Создание бакета Бакет создается командой: import boto3 session = boto3.session.Session() s3_client = session.client( service_name=’s3′, endpoint_url=’https://hb.bizmrg.com’ ) test_bucket_name = ‘boto3-test-bucket-name’ # Создаем бакет s3_client.create_bucket(Bucket=test_bucket_name) Подробнее о команде CREATE_BICKET можно узнать из официальной документации к библиотеке boto3. Получение списка бакетов Получить список […]
Предварительная настройка
Рекомендуем установить библиотеку boto3, она упростит интеграцию приложений, библиотек и скриптов Python c S3-совместимыми сервисами. При создании сессии следует указать endpoint url LinxCloud: https://hb.bizmrg.com — для класса хранения Hotbox. https://ib.bizmrg.com — для класса хранения Icebox. Учетные данные для доступа к S3: secret key и access key можно хранить в файле или указать непосредственно в скрипте в параметрах […]
REST API
Python S3
S3 SDK
SDK — это инструменты разработки для создания приложений для сервиса Объектное хранилище платформы LinxCloud S3: Инструменты для PowerShell SDK для Java SDK для .NET SDK для JavaScript SDK для Ruby SDK для Python (Boto) SDK для PHP SDK для Go Mobile SDK для iOS Mobile SDK для Android Предварительные требования Необходимо создать учетные данные […]