Skip to content

Commit

Permalink
[Cosmos] remove double signatures on container methods (Azure#23727)
Browse files Browse the repository at this point in the history
* initial commit

* Client Constructor (Azure#20310)

* Removed some stuff

* Looking at constructors

* Updated request

* Added client close

* working client creation

Co-authored-by: simorenoh <[email protected]>

* read database

database read works, but ignored exception is returned:
Fatal error on SSL transport
NoneType has no attribute 'send' (_loop._proactor.send)
RuntimeError: Event loop is closed
Unclosed connector/ connection

* Update simon_testfile.py

* with coroutine

Added methods needed to use async with when initializing client, but logs output "Exception ignored... Runtime Error: Event loop is closed"

* Update simon_testfile.py

* small changes

* async with returns no exceptions

* async read container

* async item read

* cleaning up

* create item/ database methods

* item delete working

* docs replace functionality

missing upsert and other resources

* upsert functionality

missing read_all_items and both query methods for container class

* missing query methods

* CRUD for udf, sproc, triggers

* initial query logic + container methods

* missing some execution logic and tests

* oops

* fully working queries

* small fix to query_items()

also fixed README and added examples_async

* Update _cosmos_client_connection_async.py

* Update _cosmos_client_connection.py

* documentation update

* updated MIT dates and get_user_client() description

* Update CHANGELOG.md

* Delete simon_testfile.py

* leftover retry utility

* Update README.md

* docs and removed six package

* changes based on comments

still missing discussion resolution on SSL verification and tests for async functionality under test module (apart from samples which are basically end to end tests)

* small change in type hints

* updated readme

* fixes based on conversations

* added missing type comments

* update changelog for ci pipeline

* added typehints, moved params into keywords, added decorators, made _connection_policy private

* changes based on sync with central sdk

* remove is_system_key from scripts (only used in execute_sproc)

is_system_key verifies that an empty partition key is properly dealt with if ['partitionKey']['systemKey'] exists in the container options - however, we do not allow containers to be created with empty partition key values in the python sdk, so the functionality is needless

* Revert "remove is_system_key from scripts (only used in execute_sproc)"

Reverting last commit, will find way to init is_system_key for now

* async script proxy using composition

* pylint

* capitalized constants

* Apply suggestions from code review

Clarifying comments for README

Co-authored-by: Gahl Levy <[email protected]>

* closing python code snippet

* last doc updates

* Update sdk/cosmos/azure-cosmos/CHANGELOG.md

Co-authored-by: Simon Moreno <[email protected]>

* version update

* cosmos updates for release

* fix connection string comma

* Update CHANGELOG.md

* fixing extra await keyword in sample

* Update CHANGELOG.md

* Update CHANGELOG.md

* removed double signatures

Co-authored-by: annatisch <[email protected]>
Co-authored-by: Gahl Levy <[email protected]>
Co-authored-by: Travis Prescott <[email protected]>
  • Loading branch information
4 people authored and rakshith91 committed Apr 10, 2022
1 parent 97ed010 commit e10d572
Showing 1 changed file with 12 additions and 24 deletions.
36 changes: 12 additions & 24 deletions sdk/cosmos/azure-cosmos/azure/cosmos/aio/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,7 @@ async def read(
populate_partition_key_range_statistics=None, # type: Optional[bool]
populate_quota_info=None, # type: Optional[bool]
**kwargs # type: Any
):
# type: (...) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Read the container properties.
:param populate_partition_key_range_statistics: Enable returning partition key
Expand Down Expand Up @@ -154,8 +153,7 @@ async def create_item(
self,
body, # type: Dict[str, Any]
**kwargs # type: Any
):
# type: (...) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Create an item in the container.
To update or replace an existing item, use the
Expand Down Expand Up @@ -203,8 +201,7 @@ async def read_item(
item, # type: Union[str, Dict[str, Any]]
partition_key, # type: Any
**kwargs # type: Any
):
# type: (...) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Get the item identified by `item`.
:param item: The ID (name) or dict representing item to retrieve.
Expand Down Expand Up @@ -251,8 +248,7 @@ def read_all_items(
self,
max_item_count=None, # type: Optional[int]
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[Dict[str, Any]]
) -> AsyncItemPaged[Dict[str, Any]]:
"""List all the items in the container.
:param max_item_count: Max number of items to be returned in the enumeration operation.
Expand Down Expand Up @@ -296,8 +292,7 @@ def query_items(
enable_scan_in_query=None, # type: Optional[bool]
populate_query_metrics=None, # type: Optional[bool]
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[Dict[str, Any]]
) -> AsyncItemPaged[Dict[str, Any]]:
"""Return all results matching the given `query`.
You can use any value for the container name in the FROM clause, but
Expand Down Expand Up @@ -384,8 +379,7 @@ def query_items_change_feed(
continuation=None, # type: Optional[str]
max_item_count=None, # type: Optional[int]
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[Dict[str, Any]]
) -> AsyncItemPaged[Dict[str, Any]]:
"""Get a sorted list of items that were changed, in the order in which they were modified.
:param partition_key_range_id: ChangeFeed requests can be executed against specific partition key ranges.
Expand Down Expand Up @@ -430,8 +424,7 @@ async def upsert_item(
pre_trigger_include=None, # type: Optional[str]
post_trigger_include=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Insert or update the specified item.
If the item already exists in the container, it is replaced. If the item
Expand Down Expand Up @@ -476,8 +469,7 @@ async def replace_item(
pre_trigger_include=None, # type: Optional[str]
post_trigger_include=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Replaces the specified item if it exists in the container.
If the item does not already exist in the container, an exception is raised.
Expand Down Expand Up @@ -521,8 +513,7 @@ async def delete_item(
pre_trigger_include=None, # type: Optional[str]
post_trigger_include=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> None
) -> None:
"""Delete the specified item from the container.
If the item does not already exist in the container, an exception is raised.
Expand Down Expand Up @@ -651,8 +642,7 @@ def query_conflicts(
partition_key=None, # type: Optional[Any]
max_item_count=None, # type: Optional[int]
**kwargs # type: Any
):
# type: (...) -> AsyncItemPaged[Dict[str, Any]]
) -> AsyncItemPaged[Dict[str, Any]]:
"""Return all conflicts matching a given `query`.
:param query: The Azure Cosmos DB SQL query to execute.
Expand Down Expand Up @@ -689,8 +679,7 @@ async def read_conflict(
conflict, # type: Union[str, Dict[str, Any]]
partition_key, # type: Any
**kwargs # type: Any
):
# type: (Union[str, Dict[str, Any]], Any, Any) -> Dict[str, Any]
) -> Dict[str, Any]:
"""Get the conflict identified by `conflict`.
:param conflict: The ID (name) or dict representing the conflict to retrieve.
Expand Down Expand Up @@ -718,8 +707,7 @@ async def delete_conflict(
conflict, # type: Union[str, Dict[str, Any]]
partition_key, # type: Any
**kwargs # type: Any
):
# type: (Union[str, Dict[str, Any]], Any, Any) -> None
) -> None:
"""Delete a specified conflict from the container.
If the conflict does not already exist in the container, an exception is raised.
Expand Down

0 comments on commit e10d572

Please sign in to comment.