lsyh / azure-table-service-bundle
Azure TableService bundle
Installs: 21
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
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-04-07 14:33:22 UTC
README
Installation:
Step 1: Download the Bundle
Open a command console, enter your project directory and execute:
composer require lsyh/azure-table-service-bundle:@dev
Step 2: Enable the Bundle
Then, 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], ];
Step 3: 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)%'
Usage:
Dependency Injection:
class AzureTestCommand extends Command { public function __construct( private TableService $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 . '\'');