KV API implementation on Azure Blob Storage
Project description
Key-Value: Azure Blob
Implementation of the
KV[T]
async Key-Value ABC, over Azure Blob Storage
(kv-api
)
pip install kv-azure-blob
Usage
Raw
from azure.storage.blob.aio import BlobServiceClient
from kv.azure.blob import BlobKV
bsc: BlobServiceClient = ...
kv = BlobKV[bytes](bsc)
await kv.insert('img1', b'...')
await kv.read('img2')
await kv.keys()
# etc.
Pydantic-validated
from dataclasses import dataclass
@dataclass
class User:
username: str
email: str
cc: ContainerClient = ...
kv = BlobKV.validated(User, cc)
await kv.insert('user1', User(username='user1', email='...'))
# etc.
Containers
By default, keys are split across containers:
'users/path/to/user.txt'
goes to containerusers
'admins/path/to/admin.txt'
goes to containeradmins
You can customize this behavior by passing a def split_key(key: str) -> tuple[str, str]
function.
- E.g. using
split_key=lambda key: ('container', key)
will always store in'container'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kv_azure_blob-0.1.7.tar.gz
(4.8 kB
view hashes)
Built Distribution
Close
Hashes for kv_azure_blob-0.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3a8326c35ccd97e9ed904a687816a8a6a1c2a65e8ac8321850b9d5200fcb686 |
|
MD5 | 529b64034019140298913168c258b338 |
|
BLAKE2b-256 | e21ab7574c23b8e8c1b112f4fd850b759f6550698fbb9524fbc5333044cc6f7a |