Sylius: как настроить KnpGaufrette для загрузки изображений на AWS S3? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь настроить Sylius таким образом, чтобы изображения загружались на AWS S3 . Sylius использует LiipImageBundle под капотом, поэтому я следовал за их Документами , чтобы все настроить.

Однако после этой настройки ничего не происходит. Когда я отправляю изображение в бэкэнд, оно кажется отправленным в никуда. Сообщение об ошибке не регистрируется. Ни одна строка не появляется в лог-файле приложения. Когда я удаляю эти настройки (или, как минимум, строку cache: artist_photos), все работает, как до записи изображений в ./web/media/cache.

Это моя конфигурация:

config.yml:

parameters:
    locale: en_US
    amazon.s3.key:     "yyyyyy"
    amazon.s3.secret:  "xxxxxxxxx"
    amazon.s3.bucket:  "test.xxxxxx.com"
    amazon.s3.region:  "eu-central-1"
    amazon.s3.version: "2006-03-01"



liip_imagine:
    resolvers:
        default:
            web_path:
                web_root: "%kernel.project_dir%/web"
                cache_prefix: "media/cache"


        artist_photos:
            aws_s3:
                client_config:
                    credentials:
                        key:    "%amazon.s3.key%"
                        secret: "%amazon.s3.secret%"
                    region: "%amazon.s3.region%"
                    version: "%amazon.s3.version%"
                bucket: "%amazon.s3.bucket%"
                get_options:
                    Scheme: https
                put_options:
                    CacheControl: "max-age=86400"

    cache: artist_photos

    filter_sets:
        cache: ~
        my_thumb:
            cache: artist_photos
            filters:
            # the filter list

services.yml:

app.amazon_s3:
    class: Aws\S3\S3Client
    factory: [Aws\S3\S3Client, factory]
    arguments:
        -
            credentials: { key: "%amazon.s3.key%", secret: "%amazon.s3.secret%" }
            region: "%amazon.s3.region%"
            version: "%amazon.s3.version%"

app.imagine.cache.resolver.amazon_s3:
    class: Liip\ImagineBundle\Imagine\Cache\Resolver\AwsS3Resolver
    arguments:
        - "@app.amazon_s3"
        - "%amazon.s3.bucket%"
    tags:
        - { name: "liip_imagine.cache.resolver", resolver: "amazon_s3" }

Что мне здесь не хватает?

...