2016-04-07 2 views
1

KnpGaufretteBundleは、symfony 3.0プロジェクトでaws/aws-php-sdk依存関係を使用しています。symfony 3とAWSクライアントスローAnnotationException( "@http" annotation)

サービスとしてAWSクレデンシャルとクライアントを定義しました。私はcomposer updateを実行したときに

<!-- AWS --> 
    <service id="app.aws_credentials" class="Aws\Credentials\Credentials"> 
     <argument>%aws_access_key_id%</argument> 
     <argument>%aws_secret_access_key%</argument> 
    </service> 
    <service id="app.aws_s3.client" class="Aws\S3\S3Client"> 
     <argument type="collection"> 
      <argument key="region">%aws_s3_region%</argument> 
      <argument key="version">%aws_sdk_version%</argument> 
      <argument key="credentials" type="service" id="app.aws_credentials"/> 
     </argument> 
    </service> 

werid部分が始まる、cache:clearは失敗し、スロー:

[Doctrine\Common\Annotations\AnnotationException]                                 
     [Semantical Error] The annotation "@http" in method Aws\AwsClientInterface::getCommand() was never imported. Did you maybe forget to add a "use" statement for this annotation? 

@http doens'tは何もしない注釈であるように見えます。

これを解決する方法はありますか?

+0

文字列 '@http'は、そのインターフェイスのメソッドに関するドキュメントの一部であり、注釈ではありません。 – giaour

+0

@giaourまあ、私は知っていますが、それでもSymfonyはそれを注釈として扱います。 – Kacper

答えて

1

これはもう少し前のことですが、ここで言及するのを忘れてしまいました。アマゾンが提供する

symfonyのバンドルは、代わりに自分でそれらを定義するので、aws/aws-sdk-php-symfony作曲パッケージで提供https://github.com/aws/aws-sdk-php-symfony

私だけ使用されるサービスで利用でき、助けました。

チャームのように動作します:)