2024-08-09 12:41:23 +02:00
|
|
|
import azure.cosmos.cosmos_client as cosmos_client
|
2024-08-13 15:02:03 +02:00
|
|
|
from azure.cosmos.container import ContainerProxy
|
2024-08-09 12:41:23 +02:00
|
|
|
|
|
|
|
|
from anaxi.config import CosmosDBDatabaseConfig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_cosmos_client_from_config(
|
|
|
|
|
config: CosmosDBDatabaseConfig,
|
|
|
|
|
) -> cosmos_client.CosmosClient:
|
|
|
|
|
return cosmos_client.CosmosClient(
|
|
|
|
|
url=config.host,
|
|
|
|
|
credential={"masterKey": config.master_key},
|
|
|
|
|
)
|
2024-08-13 15:02:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_container_client(
|
|
|
|
|
config: CosmosDBDatabaseConfig, container_name: str
|
|
|
|
|
) -> ContainerProxy:
|
|
|
|
|
cosmos_client = create_cosmos_client_from_config(config)
|
|
|
|
|
database_client = cosmos_client.get_database_client(database=config.database_id)
|
|
|
|
|
container_client = database_client.get_container_client(container=container_name)
|
|
|
|
|
|
|
|
|
|
return container_client
|