CakePHP で Amazon Web Services 用のカスタム データソースを作成しようとしています。私のアプローチは次のとおりです。
AwsDataSource
署名を作成し、実際の HTTP リクエストなどを作成するベース- このクラスを拡張し、使用するエンドポイントを指定する各 AWS 製品 (S3、SQS など) のさまざまなデータソース
- 、など
S3Bucket
のモデルSqsQueue
SqsMessage
私の基本データソース クラスは次のようになります (簡略化)。
<?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 メソッドを呼び出す方法を教えてくれる人がいれば、非常に感謝しています。