Commit 5ed0a29b by Oleksandr Barabash

fixed coroutines, db init

parent f163f6e5
...@@ -17,7 +17,8 @@ from botbuilder.core import ( ...@@ -17,7 +17,8 @@ from botbuilder.core import (
from botbuilder.schema import Activity, ActivityTypes from botbuilder.schema import Activity, ActivityTypes
from marshmallow import EXCLUDE, ValidationError from marshmallow import EXCLUDE, ValidationError
from bots import TeamsMessagingExtensionsActionPreviewBot from bots.messaging_extension_action_preview_bot import \
TeamsMessagingExtensionsActionPreviewBot
from bots.exceptions import ConversationNotFound, DataParsingError from bots.exceptions import ConversationNotFound, DataParsingError
from config import AppConfig, COSMOS_CLIENT, TeamsAppConfig, TOKEN_HELPER, \ from config import AppConfig, COSMOS_CLIENT, TeamsAppConfig, TOKEN_HELPER, \
CosmosDBConfig CosmosDBConfig
...@@ -214,22 +215,23 @@ async def v1_auth(request: Request) -> Response: ...@@ -214,22 +215,23 @@ async def v1_auth(request: Request) -> Response:
async def init_db_containers(): async def init_db_containers():
""" To speed up the process we have to create containers first """ """ To speed up the process we have to create containers first """
COSMOS_CLIENT.create_container( await COSMOS_CLIENT.create_db(CosmosDBConfig.Conversations.DATABASE)
await COSMOS_CLIENT.create_container(
CosmosDBConfig.Conversations.DATABASE, CosmosDBConfig.Conversations.DATABASE,
CosmosDBConfig.Conversations.CONTAINER, CosmosDBConfig.Conversations.CONTAINER,
CosmosDBConfig.Conversations.PARTITION_KEY CosmosDBConfig.Conversations.PARTITION_KEY
) )
COSMOS_CLIENT.create_container( await COSMOS_CLIENT.create_container(
CosmosDBConfig.Notifications.DATABASE, CosmosDBConfig.Notifications.DATABASE,
CosmosDBConfig.Notifications.CONTAINER, CosmosDBConfig.Notifications.CONTAINER,
CosmosDBConfig.Notifications.PARTITION_KEY CosmosDBConfig.Notifications.PARTITION_KEY
) )
COSMOS_CLIENT.create_container( await COSMOS_CLIENT.create_container(
CosmosDBConfig.Acknowledges.DATABASE, CosmosDBConfig.Acknowledges.DATABASE,
CosmosDBConfig.Acknowledges.CONTAINER, CosmosDBConfig.Acknowledges.CONTAINER,
CosmosDBConfig.Acknowledges.PARTITION_KEY CosmosDBConfig.Acknowledges.PARTITION_KEY
) )
COSMOS_CLIENT.create_container( await COSMOS_CLIENT.create_container(
CosmosDBConfig.Initiations.DATABASE, CosmosDBConfig.Initiations.DATABASE,
CosmosDBConfig.Initiations.CONTAINER, CosmosDBConfig.Initiations.CONTAINER,
CosmosDBConfig.Initiations.PARTITION_KEY CosmosDBConfig.Initiations.PARTITION_KEY
......
...@@ -71,6 +71,14 @@ class CosmosClient: ...@@ -71,6 +71,14 @@ class CosmosClient:
def bl() -> DatabaseProxy: def bl() -> DatabaseProxy:
""" Get Notifications container blocking """ """ Get Notifications container blocking """
return self.client.get_database_client(database_id)
return await self.execute_blocking(bl)
async def create_db(self, database_id: str) -> DatabaseProxy:
""" Create DB """
def bl() -> DatabaseProxy:
""" Get Notifications container blocking """
try: try:
return self.client.create_database(id=database_id) return self.client.create_database(id=database_id)
except exceptions.CosmosResourceExistsError: except exceptions.CosmosResourceExistsError:
...@@ -88,8 +96,8 @@ class CosmosClient: ...@@ -88,8 +96,8 @@ class CosmosClient:
try: try:
return db.create_container(container_id, partition_key, return db.create_container(container_id, partition_key,
**kwargs) **kwargs)
except exceptions.CosmosResourceNotFoundError: except exceptions.CosmosResourceExistsError:
pass return db.get_container_client(container_id)
return await self.execute_blocking(bl) return await self.execute_blocking(bl)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment