pfazzi/dynamo-db-session

A DynamoDb adapter for Symfony session storage

v0.1 2021-01-04 15:18 UTC

This package is auto-updated.

Last update: 2024-05-05 22:57:40 UTC


README

DynamoDB Session is a session handler that stores session data in DynamoDB.

Installation

Use the package manager composer to install DynamoDB Session.

composer require pfazzi/dynamo-db-session

Usage

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

Create session table programmatically

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();

Contributing

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.

License

MIT