Быстрый старт с S3

Подключите AWS CLI или Laravel Flysystem через SigV4, path-style и ключи своей storage zone.

Подключение через AWS CLI

Каждая storage zone — это изолированный bucket со своим регионом и ключами. ACDN реализует перечисленные ниже S3-операции через AWS Signature Version 4 и path-style addressing.

Откройте раздел «API и S3 доступ» своей storage zone и скопируйте endpoint, bucket, region, access key ID и secret. Значения в панели являются источником истины для этой зоны.

  1. Используйте endpoint в точности как он указан в панели.
  2. Имя storage zone используется как bucket.
  3. Регион зоны используется при SigV4 signing.
  4. Включите path-style addressing; virtual-hosted bucket URL не поддерживаются.
  5. Во время ротации можно одновременно использовать несколько ключей и независимо назначать права чтения, записи и удаления.
AWS CLI
aws configure set aws_access_key_id <access-key-id> --profile acdn
aws configure set aws_secret_access_key <secret-access-key> --profile acdn
aws configure set region <storage-region> --profile acdn

aws s3 ls s3://<bucket> \
  --endpoint-url https://storage.acdn.uz \
  --profile acdn

Laravel и Flysystem

Настройте обычный Laravel S3 disk с endpoint ACDN и path-style режимом. Отдельный adapter для gateway не требуется.

config/filesystems.php
'acdn_s3' => [
    'driver' => 's3',
    'key' => env('ACDN_S3_ACCESS_KEY_ID'),
    'secret' => env('ACDN_S3_SECRET_ACCESS_KEY'),
    'region' => env('ACDN_S3_REGION'),
    'bucket' => env('ACDN_S3_BUCKET'),
    'endpoint' => env('ACDN_S3_ENDPOINT', 'https://storage.acdn.uz'),
    'use_path_style_endpoint' => true,
],

Поддерживаемые S3-операции

Совместимость определяется набором операций. Используйте эту таблицу вместо предположения, что доступны все функции управления bucket в AWS S3.

Чтение service и bucket Поддерживается

Право чтения разрешает ListBuckets, HeadBucket и ListObjectsV2.

Чтение объектов Поддерживается

Право чтения разрешает GetObject, HeadObject, byte ranges, conditional reads и GetObjectAcl.

Запись объектов Поддерживается

Право записи разрешает PutObject и presigned uploads. Для CopyObject внутри bucket до 5 GiB нужны права чтения и записи.

Удаление объектов Поддерживается

Право удаления разрешает DeleteObject.

Multipart uploads Поддерживается

Право записи разрешает CreateMultipartUpload, UploadPart, CompleteMultipartUpload и AbortMultipartUpload.

Границы совместимости

  • Создание и удаление bucket, policies, изменение ACL, versioning, lifecycle, tagging и website configuration не реализованы.
  • Batch-операция DeleteObjects и UploadPartCopy не реализованы.
  • CopyObject работает только внутри одного bucket и поддерживает source-объекты до 5 GiB.
  • Каждый S3 credential связан с одним bucket storage zone; у зоны может быть несколько credentials, но ListBuckets не перечисляет другие bucket пользователя.