我正在尝试在 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 方法,那么我将不胜感激。