1

CakePHP で Amazon Web Services 用のカスタム データソースを作成しようとしています。私のアプローチは次のとおりです。

  • AwsDataSource署名を作成し、実際の HTTP リクエストなどを作成するベース
  • このクラスを拡張し、使用するエンドポイントを指定する各 AWS 製品 (S3、SQS など) のさまざまなデータソース
  • 、などS3BucketのモデルSqsQueueSqsMessage

私の基本データソース クラスは次のようになります (簡略化)。

<?php
class AwsDataSource extends DataSource {

    public $config = array(
        'key' => '',
        'secret' => '',
        'region' => ''
    );
    public $endpoint;

    public function signRequest($parameters) {
        // generates signature
    }

    public function makeRequest($parameters = array(), $method = 'get') {
        // generates signature and makes HTTP request to AWS servers
    }
}

サンプルモデルは次のようになります。

<?php
class SqsQueue extends AwsAppModel {

    public $name = 'SqsQueue';
    public $useTable = false;
}

私の問題は、私の CakePHP アプリでこれらのモデル/データソースを使用しようとすることです。

CakePHP クックブックに従って AWS データソースに、create()read()という名前のメソッドを実装しましたが、呼び出されていないようです。これは、メッセージを含むステートメントをデータソースに入れ、実行が停止しないためです。update()delete()die()

私はクックブックを使い果たしたので、モデルがデータソース クラスの CRUD メソッドを呼び出す方法を教えてくれる人がいれば、非常に感謝しています。

4

1 に答える 1