in azure/functions/decorators/function_app.py [0:0]
def cosmos_db_output_v3(self,
arg_name: str,
database_name: str,
collection_name: str,
connection_string_setting: str,
create_if_not_exists: Optional[bool] = None,
partition_key: Optional[str] = None,
collection_throughput: Optional[int] = None,
use_multiple_write_locations: Optional[
bool] = None,
preferred_locations: Optional[str] = None,
data_type: Optional[
Union[DataType, str]] = None,
**kwargs) \
-> Callable[..., Any]:
"""The cosmos_db_output_v3 decorator adds
:class:`CosmosDBOutput` to the :class:`FunctionBuilder` object
for building :class:`Function` object used in worker function
indexing model. This decorator will work only with extension bundle 2.x
or 3.x. For additional details, please refer
https://aka.ms/cosmosdb-v4-update.
This is equivalent to defining CosmosDBOutput
in the function.json which enables function to write to the CosmosDB.
All optional fields will be given default value by function host when
they are parsed by function host.
Ref: https://aka.ms/azure-function-binding-cosmosdb-v2
:param arg_name: The name of the variable that represents CosmosDB
output object in function code.
:param database_name: The name of the Azure Cosmos DB database with
the collection being monitored.
:param collection_name: The name of the collection being monitored.
:param connection_string_setting: The name of an app setting or
setting collection that specifies how to connect to the Azure Cosmos
DB account being monitored.
:param create_if_not_exists: A boolean value to indicate whether the
collection is created when it doesn't exist.
:param partition_key: When CreateIfNotExists is true, it defines the
partition key path for the created collection.
:param collection_throughput: When CreateIfNotExists is true,
it defines the throughput of the created collection.
:param use_multiple_write_locations: When set to true along with
PreferredLocations, it can leverage multi-region writes in the Azure
Cosmos DB service.
:param preferred_locations: Defines preferred locations (regions)
for geo-replicated database accounts in the Azure Cosmos DB service.
:param data_type: Defines how Functions runtime should treat the
parameter value.
:param kwargs: Keyword arguments for specifying additional binding
fields to include in the binding json.
:return: Decorator function.
"""
@self._configure_function_builder
def wrap(fb):
def decorator():
fb.add_binding(
binding=CosmosDBOutputV3(
name=arg_name,
database_name=database_name,
collection_name=collection_name,
connection_string_setting=connection_string_setting,
create_if_not_exists=create_if_not_exists,
partition_key=partition_key,
collection_throughput=collection_throughput,
use_multiple_write_locations=use_multiple_write_locations, # NoQA
preferred_locations=preferred_locations,
data_type=parse_singular_param_to_enum(data_type,
DataType),
**kwargs))
return fb
return decorator()
return wrap