4

Symfony2、KnpGaufetteBundle、Amazon S3 を組み合わせようとしています。KnpGaufette バンドルから、構成に使用する xml 定義を取得しました。しかし、それはxmlにあり、私の設定はymlにあります。そしてなぜか頭が追いつかない。yml で次の変数を定義するにはどうすればよいですか? そして、それらはどういう意味ですか?

<service id="acme.s3" class="AmazonS3">
    <argument type="collection">
        <argument key="key">%acme.aws_key%</argument>
        <argument key="secret">%acme.aws_secret_key%</argument>
    </argument>
</service>

<service id="acme.s3.adapter" class="Gaufrette\Adapter\AmazonS3">
    <argument type="service" id="acme.s3"></argument>
    <argument>%acme.s3.bucket_name%</argument>
</service>

<service id="acme.fs" class="Gaufrette\Filesystem">
    <argument type="service" id="acme.s3.adapter"></argument>
</service>

完全なソリューションで更新

したがって、実際に機能させるには、構成を yml に書き留める必要があるだけでなく (これは chmeliuk -> おかげで解決されました)、curl 用に cacert.pem ファイルを構成する必要もあります。ここで適切なものを入手できます: http://curl.haxx.se/ca/cacert.pem

これを好きな場所に置き、追加のcertificate_authorityエントリで次の行を使用します。

services:
    acme.s3:
        class: AmazonS3
        arguments:
            options: { key: %acme.aws_key%, secret: %acme.aws_secret_key%, certificate_authority: "pathWhereYouDidPutThisFile/cacert.pem" }

    acme.s3.adapter:
        class: Gaufrette\Adapter\AmazonS3
        arguments: 
            service: @acme.s3
            bucket_name: %acme.s3.bucket_name%

    acme.fs:
        class: Gaufrette\Filesystem
        arguments: 
            adapter: @acme.s3.adapter

これにより、他の方法で発生する可能性がある CA Cert cURL エラー 60 が解決されます。

4

1 に答える 1

5

同じ構成ですが、yml形式です。

services:
    acme.s3:
        class: AmazonS3
        arguments:
            options: { key: %acme.aws_key%, secret: %acme.aws_secret_key% }

    acme.s3.adapter:
        class: Gaufrette\Adapter\AmazonS3
        arguments: 
            service: @acme.s3
            bucket_name: %acme.s3.bucket_name%

    acme.fs:
        class: Gaufrette\Filesystem
        arguments: 
            adapter: @acme.s3.adapter

次のようなパラメーターを定義するには:%acme.aws_key%、%acme.aws_secret_key%、%acme.s3.bucket_name%プロジェクトのparameters.ymlファイル(またはサービスを定義するのと同じ構成)に次の行を追加します。

parameters:
    acme.aws_key: YOUR_AWS_KEY
    acme.aws_secret_key: YOUR_AWS_SECRET_KEY
    acme.s3.bucket_name: cool_bucket_name
于 2012-10-11T12:01:42.377 に答える