lsyh / azure-table-service-bundle
Azure TableService symfony bundle
Installs: 172
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- ext-ctype: *
- ext-iconv: *
- symfony/http-client: ^7.2
- symfony/monolog-bundle: ^3.10
- symfony/property-access: ^7.2
- symfony/serializer: ^7.2
- symfony/yaml: ^7.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.70
- phpunit/phpunit: ^12.0
- symfony/phpunit-bridge: ^7.2
This package is auto-updated.
Last update: 2025-09-02 19:16:58 UTC
README
Installation with symfony recipe:
- Add the following lines to composer.json
"extra": {
"symfony": {
"endpoint": ["https://api.github.com/repos/Attek/azure-table-bundle-recipe/contents/index.json", "flex://defaults"]
}
}
- Download the Bundle Open a command console, enter your project directory and execute:
composer require lsyh/azure-table-service-bundle
Installation manually:
- Enable the Bundle
Enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... Lsyh\TableServiceBundle\TableServiceBundle::class => ['all' => true], ];
- Create table_service.yaml in config/packages folder.
table_service: azure_url: '%env(AZURE_URL)%' azure_table_name: '%env(AZURE_TABLE_NAME)%' azure_sas_token: '%env(AZURE_SAS_TOKEN)%'
- Download the Bundle Open a command console, enter your project directory and execute:
composer require lsyh/azure-table-service-bundle
Usage:
Dependency Injection:
class AzureTestCommand extends Command { public function __construct( private TableServiceInterface $tableService, ) { parent::__construct(); }
Create table:
$azureApiResponse = $this->tableService->createTable('myTable');
Get table:
$azureApiResponse = $this->tableService->getTable('myTable');
Delete table:
$azureApiResponse = $this->tableService->deleteTable('myTable');
Insert Entity:
$entity = (new Entity()) ->setPartitionKey('partkey1') ->setRowKey('rowkey1') ->addProperty('name', 'John Doe') ->addProperty('age', 30) ->addProperty('isStudent', true) ->addProperty('created', new \DateTime()); $azureApiResponse = $this->tableService->insertEntity('myTable', $entity);
Update Entity:
$entity = (new Entity()) ->setPartitionKey('partkey1') ->setRowKey('rowkey1') ->addProperty('name', 'John Doe') ->addProperty('age', 30) ->addProperty('isStudent', true) ->addProperty('created', new \DateTime()) ->addProperty('binaryTest', 'SomeBinaryData', EdmType::BINARY); $azureApiResponse = $this->tableService->updateEntity('myTable', $entity);
Delete Entity:
$azureApiResponse = $this->tableService->delelteEntity('myTable', 'partkey1', 'rowkey1');
Get Entity:
$azureApiResponse = $this->tableService->getEntity('myTable', 'partkey1', 'rowkey1'); $azureApiResponse->getEntity();
Get Entity, select properties response:
$azureApiResponse = $this->tableService->getEntity('myTable', 'partkey1', 'rowkey1', 'name', 'age');
Filter Entity by timestamp
$azureApiResponse = $this->tableService->getEntityByFilter('myTable', 'and', 'Timestamp le datetime\'' . $date . '\'');