Использование DynamoDB из CakePHP 3, установленного в Elastic Beanstalk - PullRequest
0 голосов
/ 04 сентября 2018

Я установил CakePHP 3, используя указания из этого урока:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-cakephp-tutorial.html

Он работает отлично, и на самом деле установка была довольно простой. Работает PHP, CakePHP, MySQL, а также я заметил, что новейший AWS SDK в целом установлен в каталоге производителя. Поэтому я полностью настроен на использование DynamoDB в качестве источника данных. Вы можете спросить, почему я должен использовать DynamoDb, поскольку я уже использую MySQL / MarianDB, это потому, что у нас есть приложение, которое уже работает, и оно использует DynamoDB. Но мы должны быть в состоянии написать приложение администратора, используя CakePHP в верхней части DynamoDB. Это не техническое решение, а исходящее из бизнеса.

Я нашел хороший учебник, написанный StarTutorial, как использовать DynamoDB в качестве обработчика сеанса в CakePHP 3:

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, шаблонизацией, безопасностью и т. Д., Сэкономленным тысячами часов благодаря хорошо написанному коду и очень быстрому началу кодирования, например, консоли администратора:)

Спасибо,

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Спасибо за ваш ответ, я искал пример того, как использовать AWS SDK для DynamoDB, не создавая при этом более сложную среду. Таким образом, мне пришлось бы создать еще один слой без использования уже существующего SDK. Можете ли вы привести в пример wokring, как AWS SDK используется из CakePHP 3, чтобы он мог использовать DynamoDB в качестве источника данных для своих приложений, не теряя своих собственных ресурсов и возможностей (MVC, безопасность и т. Д.).

Спасибо,

0 голосов
/ 06 сентября 2018

После сложной отладки и найденных ошибок я смог заставить ее работать только с помощью AWS SDK в CakePHP 3.

0 голосов
/ 04 сентября 2018

Вы можете создать лямбда-функцию (на случай, если вы захотите отключиться от сервера) или любой другой микросервис для абстрагирования связи с вашей DynamoDB. Это определенно упростит ваш PHP-код. Вы можете вызывать функции Lambda напрямую ( через API-шлюз ) или отправлять сообщения на SQS для лучшей развязки. Я бы порекомендовал использовать SQS - вам все равно понадобится какой-нибудь микросервис для приема сообщений и обработки вашей DynamoDB в режиме CQRS . Надеюсь, это поможет!

...