DynamoDB Session is a session handler that stores session data in DynamoDB.
Use the package manager composer to install DynamoDB Session.
composer require pfazzi/dynamo-db-session
Define a proper service in config/services.yaml
services:
pfazzi.dynamo_db_session:
class: Pfazzi\Session\DynamoDb\DynamoDbSessionHandler
arguments:
$tableName: 'dashboard-session-dev' # TODO: change me!
A DynamoDb table needs to exist in the configured region with the given $tableName
option.
The primary key of the table must be a String with key "id".
Tell Symfony to use it as session handler in config/packages/framework.yaml
:
framework:
session:
handler_id: pfazzi.dynamo_db_session
You can programmatically create the session table using Pfazzi\Session\DynamoDb\SessionTable
class, as in the following example:
$tableName = 'some-session-table-name';
$sdk = new Aws\Sdk([
'region' => 'eu-central-1',
'version' => 'latest',
]);
$dynamodb = $sdk->createDynamoDb();
$sessionTable = new Pfazzi\Session\DynamoDb\SessionTable($dynamodb, $tableName);
$sessionTable->create();
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.