CosmosDBInput Interface
Implements
public interface CosmosDBInput
implements java.lang.annotation.Annotation
Place this on a parameter whose value would come from CosmosDB. The parameter type can be one of the following:
- Some native Java types such as String
- Nullable values using Optional
- Any POJO type
The following example shows a Java function that retrieves a single document. The function is triggered by an HTTP request that uses a query string to specify the ID to look up. That ID is used to retrieve a ToDoItem document from the specified database and collection. A sample URL would be like: http://localhost:7071/api/getItem?id=myid.
@FunctionName("getItem")
public String cosmosDbQueryById(
@HttpTrigger(name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS) Optional<String> dummy,
@CosmosDBInput(name = "database",
databaseName = "ToDoList",
collectionName = "Items",
id = "{Query.id}",
connectionStringSetting = "AzureCosmosDBConnection") Optional<String> item
) {
return item.orElse("Not found");
}
Method Summary
Modifier and Type | Method and Description |
---|---|
abstract java.lang.String |
collectionName()
Defines the collection name of the CosmosDB to which to bind. |
abstract java.lang.String |
connectionStringSetting()
Defines the app setting name that contains the CosmosDB connection string. |
abstract java.lang.String |
dataType()
Defines how Functions runtime should treat the parameter value. |
abstract java.lang.String |
databaseName()
Defines the database name of the CosmosDB to which to bind. |
abstract java.lang.String |
id()
Defines the ID of the CosmosDB to which to bind. |
abstract java.lang.String |
name()
The variable name used in function. |
abstract java.lang.String |
partitionKey()
Defines partition key value for the lookup. |
abstract java.lang.String |
sqlQuery()
Defines the SQL query string to which to bind. |
Method Details
collectionName
public abstract String collectionName()
Defines the collection name of the CosmosDB to which to bind.
Returns:
connectionStringSetting
public abstract String connectionStringSetting()
Defines the app setting name that contains the CosmosDB connection string.
Returns:
dataType
public abstract String dataType()
Defines how Functions runtime should treat the parameter value. Possible values are:
- "": get the value as a string, and try to deserialize to actual parameter type like POJO
- string: always get the value as a string
- binary: get the value as a binary data, and try to deserialize to actual parameter type byte[]
Returns:
databaseName
public abstract String databaseName()
Defines the database name of the CosmosDB to which to bind.
Returns:
id
public abstract String id()
Defines the ID of the CosmosDB to which to bind.
Returns:
name
public abstract String name()
The variable name used in function.json.
Returns:
partitionKey
public abstract String partitionKey()
Defines partition key value for the lookup. May include binding parameters.
Returns:
sqlQuery
public abstract String sqlQuery()
Defines the SQL query string to which to bind.
Returns: