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.4.tar.gz
(4.7 kB
view hashes)
Built Distribution
Close
Hashes for kv_azure_blob-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c02d8f598b95108d7621c9eef4c0e32c13310edd8b471d8941eaf80c57cab6f7 |
|
MD5 | 137584f70545d63f9e25c03c5e573473 |
|
BLAKE2b-256 | 01cb47cb986c0400081cdda43b7458291e7c620fbaf1c835e3f09f682ef4b4cd |