我已经使用本教程中的说明安装了CakePHP 3:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-cakephp-tutorial.html
它工作得很好,实际上安装非常简单。有PHP,CakePHP,MySQL工作,我也注意到最新的AWS SDK整体安装在供应商目录中。所以我完全可以使用DynamoDB作为我的数据源。您可能会问为什么我应该使用DynamoDb,因为我已经在使用MySQL / MarianDB,这是因为我们有一个已经在生产中并且正在使用DynamoDB的应用程序。但我们应该能够在DynamoDB中使用CakePHP编写管理应用程序。这不是技术决定,而是来自业务方面。
我找到了由StarTutorial编写的好教程,如何在CakePHP 3中将DynamoDB用作会话处理程序:
https://www.startutorial.com/articles/view/using-amazon-dynamodb-as-session-handler-in-cakephp-3
那么,使用DynamoDB来放置数据,获取数据和进行扫描并不是很长的路要走?您有任何简单的示例如何操作,如何将数据写入DynamoDB或进行扫描?
我也读过这篇文章:
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.PHP.html
这工作正常,没问题。但我想要CakePHP 3的所有优点,模板,安全性等,用编写良好的代码节省数千小时的时间,并且非常快速地开始编码,例如管理控制台:)
谢谢,
您可以创建一个Lambda function(如果您想要无服务器)或任何其他微服务来抽象与DynamoDB的通信。这肯定会简化您的PHP代码。您可以直接调用Lambda函数(via API Gateway),或将消息发布到SQS以获得更好的解耦。我建议使用SQS - 无论如何你需要某种微服务来消费消息并以CQRS方式处理你的DynamoDB。希望能帮助到你!
感谢您的回答,我正在寻找一个示例,如何使用AWS SDK for DynamoDB,而不会为此环境带来更多复杂性。这样我就不必使用已经存在的SDK来创建另一个层。您能否举例说明如何使用CakePHP 3中的AWS SDK,以便它可以将DynamoDB用作其应用程序的数据源,而不会丢失自己的资源(MVC,安全性等)。
谢谢,
经过艰难的调试并发现了错误后,我才能使用CakePHP 3中的AWS SDK。