Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion extensions/Worker.Extensions.CosmosDB/release_notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@

### Microsoft.Azure.Functions.Worker.Extensions.CosmosDB <version>

- <entry>
- Updated CosmosDBInputAttribute constructors to allow empty values for databaseName and containerName
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// Licensed under the MIT License. See License.txt in the project root for license information.

using System.Collections.Generic;
using System.Text.Json.Serialization;
using Microsoft.Azure.Functions.Worker.Converters;
using Microsoft.Azure.Functions.Worker.Extensions.Abstractions;

Expand All @@ -11,11 +12,34 @@ namespace Microsoft.Azure.Functions.Worker
[InputConverter(typeof(CosmosDBConverter))]
public sealed class CosmosDBInputAttribute : InputBindingAttribute
{
/// <summary>
/// <Summary>
/// Constructs a new instance.
/// Use this constructor when binding to a CosmosClient.
/// </summary>
public CosmosDBInputAttribute()
{
DatabaseName = string.Empty;
ContainerName = string.Empty;
}

/// <Summary>
/// Constructs a new instance with the specified database name.
/// Use this constructor when binding to a Database.
/// </summary>
/// <param name="databaseName">The CosmosDB database name.</param>
public CosmosDBInputAttribute(string databaseName)
{
DatabaseName = databaseName;
ContainerName = string.Empty;
}

/// <summary>
/// Constructs a new instance with the specified database and container names.
/// Use this constructor when binding to a Container or a POCO.
/// </summary>
/// <param name="databaseName">The CosmosDB database name.</param>
/// <param name="containerName">The CosmosDB container name.</param>
[JsonConstructor]
public CosmosDBInputAttribute(string databaseName, string containerName)
{
DatabaseName = databaseName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public CosmosInputBindingFunctions(ILogger<CosmosInputBindingFunctions> logger)
[Function(nameof(DocsByUsingCosmosClient))]
public async Task<HttpResponseData> DocsByUsingCosmosClient(
[HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
[CosmosDBInput("", "", Connection = "CosmosDBConnection")] CosmosClient client)
[CosmosDBInput(Connection = "CosmosDBConnection")] CosmosClient client)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");

Expand All @@ -43,7 +43,7 @@ public async Task<HttpResponseData> DocsByUsingCosmosClient(
[Function(nameof(DocsByUsingDatabaseClient))]
public async Task<HttpResponseData> DocsByUsingDatabaseClient(
[HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
[CosmosDBInput("ToDoItems", "", Connection = "CosmosDBConnection")] Database database)
[CosmosDBInput("ToDoItems", Connection = "CosmosDBConnection")] Database database)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");

Expand Down