Partilhar via


Associações do Azure Cosmos DB para o Azure Functions 1.x

Este artigo explica como trabalhar com associações do Azure Cosmos DB no Azure Functions. O Azure Functions dá suporte a associações de gatilho, entrada e saída para o Azure Cosmos DB.

Nota

Este artigo é para o Azure Functions 1.x. Para obter informações sobre como usar essas associações no Functions 2.x e superior, consulte Associações do Azure Cosmos DB para o Azure Functions 2.x.

Essa associação foi originalmente chamada de Banco de Dados de Documentos. No Azure Functions versão 1.x, apenas o gatilho foi renomeado para Azure Cosmos DB; a vinculação de entrada, a vinculação de saída e o pacote NuGet mantêm o nome do Banco de Dados de Documentos.

Nota

Os enlaces do Cosmos DB do Azure só são suportados para utilização com a API de SQL. Para todas as outras APIs do Azure Cosmos DB, você deve acessar o banco de dados de sua função usando o cliente estático para sua API, incluindo Azure Cosmos DB para MongoDB, Azure Cosmos DB para Apache Cassandra, Azure Cosmos DB para Apache Gremlin e Azure Cosmos DB para Tabela.

Pacotes - Funções 1.x

As associações do Azure Cosmos DB para Functions versão 1.x são fornecidas no pacote NuGet Microsoft.Azure.WebJobs.Extensions.DocumentDB, versão 1.x. O código-fonte das associações está no repositório GitHub azure-webjobs-sdk-extensions .

A tabela a seguir lista como adicionar suporte para vinculação de saída em cada ambiente de desenvolvimento.

Ambiente de desenvolvimento Para adicionar suporte no Functions 1.x
Desenvolvimento local: biblioteca de classes C# Instalar o pacote
Desenvolvimento local: script C#, JavaScript, F# Automático
Desenvolvimento de portais Automático

Acionador

O Gatilho do Azure Cosmos DB usa o Feed de Alterações do Azure Cosmos DB para ouvir inserções e atualizações entre partições. O feed de alterações publica inserções e atualizações, não exclusões.

Gatilho - exemplo

O exemplo a seguir mostra uma função C# em processo que é invocada quando há inserções ou atualizações no banco de dados e na coleção especificados.

using Microsoft.Azure.Documents;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;

namespace CosmosDBSamplesV1
{
    public static class CosmosTrigger
    {
        [FunctionName("CosmosTrigger")]
        public static void Run([CosmosDBTrigger(
            databaseName: "ToDoItems",
            collectionName: "Items",
            ConnectionStringSetting = "CosmosDBConnection",
            LeaseCollectionName = "leases",
            CreateLeaseCollectionIfNotExists = true)]IReadOnlyList<Document> documents,
            TraceWriter log)
        {
            if (documents != null && documents.Count > 0)
            {
                log.Info($"Documents modified: {documents.Count}");
                log.Info($"First document Id: {documents[0].Id}");
            }
        }
    }
}

Gatilho - atributos

Para bibliotecas de classes C# em processo, use o atributo CosmosDBTrigger .

O construtor do atributo usa o nome do banco de dados e o nome da coleção. Para obter informações sobre essas configurações e outras propriedades que você pode configurar, consulte Trigger - configuration. Aqui está um CosmosDBTrigger exemplo de atributo em uma assinatura de método:

    [FunctionName("DocumentUpdates")]
    public static void Run(
        [CosmosDBTrigger("database", "collection", ConnectionStringSetting = "myCosmosDB")]
    IReadOnlyList<Document> documents,
        TraceWriter log)
    {
        ...
    }

Para obter um exemplo completo, consulte Trigger - C# exemplo.

Gatilho - configuração

A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json e no CosmosDBTrigger atributo.

function.json propriedade Propriedade Attribute Description
type n/d Deve ser definido como cosmosDBTrigger.
direção n/d Deve ser definido como in. Esse parâmetro é definido automaticamente quando você cria o gatilho no portal do Azure.
Designação n/d O nome da variável usada no código da função que representa a lista de documentos com alterações.
connectionStringSetting ConnectionStringSetting O nome de uma configuração de aplicativo que contém a cadeia de conexão usada para se conectar à conta do Azure Cosmos DB que está sendo monitorada.
Nome do banco de dados Nome do Banco de Dados O nome do banco de dados do Azure Cosmos DB com a coleção sendo monitorada.
collectionName CollectionName O nome da coleção que está sendo monitorada.
leaseConnectionStringSetting LeaseConnectionStringSetting (Opcional) O nome de uma configuração de aplicativo que contém a cadeia de conexão com o serviço que contém a coleção de concessão. Quando não definido, o connectionStringSetting valor é usado. Este parâmetro é definido automaticamente quando a ligação é criada no portal. A cadeia de conexão para a coleção de concessões deve ter permissões de gravação.
leaseDatabaseName LeaseDatabaseName (Opcional) O nome do banco de dados que contém a coleção usada para armazenar concessões . Quando não está definido, o databaseName valor da configuração é usado. Este parâmetro é definido automaticamente quando a ligação é criada no portal.
leaseCollectionName LeaseCollectionName (Opcional) O nome da coleção usada para armazenar locações. Quando não definido, o valor leases é usado.
createLeaseCollectionIfNotExists CreateLeaseCollectionIfNotExists (Opcional) Quando definida como true, a coleção de concessões é criada automaticamente quando ainda não existe. O valor predefinido é false.
leasesCollectionThroughput LeasesCollectionThroughput (Opcional) Define a quantidade de Unidades de Solicitação a serem atribuídas quando a coleção de concessões for criada. Esta definição só é utilizada Quando createLeaseCollectionIfNotExists está definido como true. Este parâmetro é definido automaticamente quando a associação é criada usando o portal.
leaseCollectionPrefix LeaseCollectionPrefix (Opcional) Quando definido, ele adiciona um prefixo às concessões criadas na coleção Lease para esta Função, permitindo efetivamente que duas Funções do Azure separadas compartilhem a mesma coleção Lease usando prefixos diferentes.
feedPollDelay FeedPollDelay (Opcional) Quando definido, ele define, em milissegundos, o atraso entre a sondagem de uma partição para novas alterações no feed, depois que todas as alterações atuais são drenadas. O padrão é 5000 (5 segundos).
leaseAcquireInterval LeaseAcquireInterval (Opcional) Quando definido, ele define, em milissegundos, o intervalo para iniciar uma tarefa para calcular se as partições são distribuídas uniformemente entre instâncias de host conhecidas. O padrão é 13000 (13 segundos).
leaseExpirationInterval LeaseExpirationInterval (Opcional) Quando definido, ele define, em milissegundos, o intervalo para o qual a concessão é tomada em uma concessão que representa uma partição. Se a concessão não for renovada dentro desse intervalo, ela expirará e a propriedade da partição será movida para outra instância. O padrão é 60000 (60 segundos).
leaseRenewInterval LeaseRenewInterval (Opcional) Quando definido, ele define, em milissegundos, o intervalo de renovação para todas as concessões de partições atualmente mantidas por uma instância. O padrão é 17000 (17 segundos).
ponto de verificaçãoFrequência Ponto de verificaçãoFrequência (Opcional) Quando definido, ele define, em milissegundos, o intervalo entre os pontos de verificação de locação. O padrão é sempre após cada chamada de função.
maxItemsPerInvocation MaxItemsPerInvocation (Opcional) Quando definido, personaliza a quantidade máxima de itens recebidos por chamada de função.
startFromBeginning StartFromBeginning (Opcional) Quando definido, ele diz ao Gatilho para começar a ler as alterações a partir do início do histórico da coleção em vez da hora atual. Isso só funciona na primeira vez que o Trigger é iniciado, pois em execuções subsequentes, os pontos de verificação já estão armazenados. Definir isso para true quando houver locações já criadas não tem efeito.

Quando estiver desenvolvendo localmente, adicione as configurações do aplicativo no arquivo local.settings.json na Values coleção.

Gatilho - uso

O gatilho requer uma segunda coleção que ele usa para armazenar concessões sobre as partições. Tanto a coleção que está sendo monitorada quanto a coleção que contém as locações devem estar disponíveis para que o gatilho funcione.

Importante

Se várias funções estiverem configuradas para usar um gatilho do Azure Cosmos DB para a mesma coleção, cada uma das funções deverá usar uma coleção de concessão dedicada ou especificar uma diferente LeaseCollectionPrefix para cada função. Caso contrário, apenas uma das funções será acionada. Para obter informações sobre o prefixo, consulte a seção Configuração.

O gatilho não indica se um documento foi atualizado ou inserido, apenas fornece o próprio documento. Se você precisar lidar com atualizações e inserções de forma diferente, poderá fazer isso implementando campos de carimbo de data/hora para inserção ou atualização.

Entrada

O enlace de entrada do Azure Cosmos DB utiliza a API do SQL para obter um ou mais documentos do Azure Cosmos DB e passa-os para o parâmetro de entrada da função. Os parâmetros de consulta ou o ID do documento podem ser determinados com base no acionador que invoca a função.

Input - exemplo

Esta seção contém os seguintes exemplos:

Os exemplos referem-se a um tipo simples ToDoItem :

namespace CosmosDBSamplesV1
{
    public class ToDoItem
    {
        public string Id { get; set; }
        public string Description { get; set; }
    }
}

Gatilho de fila, ID de pesquisa de JSON

O exemplo a seguir mostra uma função C# que recupera um único documento. A função é acionada por uma mensagem de fila que contém um objeto JSON. O gatilho de fila analisa o JSON em um objeto chamado ToDoItemLookup, que contém a ID a ser pesquisada. Esse ID é usado para recuperar um ToDoItem documento do banco de dados e da coleção especificados.

namespace CosmosDBSamplesV1
{
    public class ToDoItemLookup
    {
        public string ToDoItemId { get; set; }
    }
}
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromJSON
    {
        [FunctionName("DocByIdFromJSON")]
        public static void Run(
            [QueueTrigger("todoqueueforlookup")] ToDoItemLookup toDoItemLookup,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{ToDoItemId}")]ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed Id={toDoItemLookup?.ToDoItemId}");

            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
        }
    }
}

Gatilho HTTP, ID de pesquisa da cadeia de caracteres de consulta

O exemplo a seguir mostra uma função C# que recupera um único documento. A função é acionada por um pedido HTTP que utiliza uma cadeia de consulta para especificar o ID a procurar. Esse ID é usado para recuperar um ToDoItem documento do banco de dados e da coleção especificados.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromQueryString
    {
        [FunctionName("DocByIdFromQueryString")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{Query.id}")] ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Gatilho HTTP, procure ID a partir de dados de rota

O exemplo a seguir mostra uma função C# que recupera um único documento. A função é acionada por uma solicitação HTTP que usa dados de rota para especificar o ID a ser pesquisado. Esse ID é usado para recuperar um ToDoItem documento do banco de dados e da coleção especificados.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromRouteData
    {
        [FunctionName("DocByIdFromRouteData")]
        public static HttpResponseMessage Run(
            [HttpTrigger(
                AuthorizationLevel.Anonymous, "get", "post",
                Route = "todoitems/{id}")]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                Id = "{id}")] ToDoItem toDoItem,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            if (toDoItem == null)
            {
                log.Info($"ToDo item not found");
            }
            else
            {
                log.Info($"Found ToDo item, Description={toDoItem.Description}");
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Ignorar exemplos de entrada

Gatilho HTTP, procure ID de dados de rota, usando SqlQuery

O exemplo a seguir mostra uma função C# que recupera um único documento. A função é acionada por uma solicitação HTTP que usa dados de rota para especificar o ID a ser pesquisado. Esse ID é usado para recuperar um ToDoItem documento do banco de dados e da coleção especificados.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocByIdFromRouteDataUsingSqlQuery
    {
        [FunctionName("DocByIdFromRouteDataUsingSqlQuery")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post",
                Route = "todoitems2/{id}")]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                SqlQuery = "select * from ToDoItems r where r.id = {id}")] IEnumerable<ToDoItem> toDoItems,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            foreach (ToDoItem toDoItem in toDoItems)
            {
                log.Info(toDoItem.Description);
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Ignorar exemplos de entrada

HTTP trigger, obter vários documentos, usando SqlQuery

O exemplo a seguir mostra uma função C# que recupera uma lista de documentos. A função é acionada por uma solicitação HTTP. A consulta é especificada na SqlQuery propriedade atributo.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;

namespace CosmosDBSamplesV1
{
    public static class DocsBySqlQuery
    {
        [FunctionName("DocsBySqlQuery")]
        public static HttpResponseMessage Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
                HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection",
                SqlQuery = "SELECT top 2 * FROM c order by c._ts desc")]
                IEnumerable<ToDoItem> toDoItems,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");
            foreach (ToDoItem toDoItem in toDoItems)
            {
                log.Info(toDoItem.Description);
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Ignorar exemplos de entrada

Gatilho HTTP, obter vários documentos, usando DocumentClient (C#)

O exemplo a seguir mostra uma função C# que recupera uma lista de documentos. A função é acionada por uma solicitação HTTP. O código usa uma DocumentClient instância fornecida pela associação do Azure Cosmos DB para ler uma lista de documentos. A DocumentClient instância também pode ser usada para operações de gravação.

using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;
using System;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;

namespace CosmosDBSamplesV1
{
    public static class DocsByUsingDocumentClient
    {
        [FunctionName("DocsByUsingDocumentClient")]
        public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")] DocumentClient client,
            TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            Uri collectionUri = UriFactory.CreateDocumentCollectionUri("ToDoItems", "Items");
            string searchterm = req.GetQueryNameValuePairs()
                .FirstOrDefault(q => string.Compare(q.Key, "searchterm", true) == 0)
                .Value;

            if (searchterm == null)
            {
                return req.CreateResponse(HttpStatusCode.NotFound);
            }

            log.Info($"Searching for word: {searchterm} using Uri: {collectionUri.ToString()}");
            IDocumentQuery<ToDoItem> query = client.CreateDocumentQuery<ToDoItem>(collectionUri)
                .Where(p => p.Description.Contains(searchterm))
                .AsDocumentQuery();

            while (query.HasMoreResults)
            {
                foreach (ToDoItem result in await query.ExecuteNextAsync())
                {
                    log.Info(result.Description);
                }
            }
            return req.CreateResponse(HttpStatusCode.OK);
        }
    }
}

Entrada - atributos

Em bibliotecas de classes C# em processo, use o atributo Banco de Dados de Documentos.

O construtor do atributo usa o nome do banco de dados e o nome da coleção. Para obter informações sobre essas configurações e outras propriedades que você pode configurar, consulte a seção de configuração a seguir.

Entrada - configuração

A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json e no DocumentDB atributo.

function.json propriedade Propriedade Attribute Description
type n/d Deve ser definido como documentdb.
direção n/d Deve ser definido como in.
Designação n/d Nome do parâmetro de vinculação que representa o documento na função.
Nome do banco de dados Nome do Banco de Dados A base de dados que contém o documento.
collectionName CollectionName O nome da coleção que contém o documento.
id ID A ID do documento a ser recuperado. Esta propriedade suporta expressões de ligação. Não defina as propriedades id e sqlQuery . Se você não definir nenhum deles, toda a coleção será recuperada.
sqlQuery SqlQuery Uma consulta SQL do Azure Cosmos DB usada para recuperar vários documentos. A propriedade suporta associações de tempo de execução, como neste exemplo: SELECT * FROM c where c.departmentId = {departmentId}. Não defina as propriedades id e sqlQuery . Se você não definir nenhum deles, toda a coleção será recuperada.
conexão ConnectionStringSetting O nome da configuração do aplicativo que contém sua cadeia de conexão do Azure Cosmos DB.
partitionKey PartitionKey Especifica o valor da chave de partição para a pesquisa. Pode incluir parâmetros de vinculação.

Quando estiver desenvolvendo localmente, adicione as configurações do aplicativo no arquivo local.settings.json na Values coleção.

Entrada - uso

Quando a função é encerrada com êxito, quaisquer alterações feitas no documento de entrada através de parâmetros de entrada nomeados são automaticamente persistidas.

Saída

A associação de saída do Azure Cosmos DB permite gravar um novo documento em um banco de dados do Azure Cosmos DB usando a API SQL.

Saída - exemplo

Esta seção contém os seguintes exemplos:

  • Gatilho de fila, escreva um documento
  • Gatilho de fila, escreva documentos usando IAsyncCollector

Os exemplos referem-se a um tipo simples ToDoItem :

namespace CosmosDBSamplesV1
{
    public class ToDoItem
    {
        public string Id { get; set; }
        public string Description { get; set; }
    }
}

Gatilho de fila, escreva um documento

O exemplo a seguir mostra uma função C# que adiciona um documento a um banco de dados, usando dados fornecidos na mensagem do armazenamento de filas.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System;

namespace CosmosDBSamplesV1
{
    public static class WriteOneDoc
    {
        [FunctionName("WriteOneDoc")]
        public static void Run(
            [QueueTrigger("todoqueueforwrite")] string queueMessage,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")]out dynamic document,
            TraceWriter log)
        {
            document = new { Description = queueMessage, id = Guid.NewGuid() };

            log.Info($"C# Queue trigger function inserted one row");
            log.Info($"Description={queueMessage}");
        }
    }
}

Gatilho de fila, escrever documentos usando IAsyncCollector

O exemplo a seguir mostra uma função C# que adiciona uma coleção de documentos a um banco de dados, usando dados fornecidos em uma mensagem de fila JSON.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using System.Threading.Tasks;

namespace CosmosDBSamplesV1
{
    public static class WriteDocsIAsyncCollector
    {
        [FunctionName("WriteDocsIAsyncCollector")]
        public static async Task Run(
            [QueueTrigger("todoqueueforwritemulti")] ToDoItem[] toDoItemsIn,
            [DocumentDB(
                databaseName: "ToDoItems",
                collectionName: "Items",
                ConnectionStringSetting = "CosmosDBConnection")]
                IAsyncCollector<ToDoItem> toDoItemsOut,
            TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed {toDoItemsIn?.Length} items");

            foreach (ToDoItem toDoItem in toDoItemsIn)
            {
                log.Info($"Description={toDoItem.Description}");
                await toDoItemsOut.AddAsync(toDoItem);
            }
        }
    }
}

Saída - atributos

Em bibliotecas de classes C# em processo, use o atributo Banco de Dados de Documentos.

O construtor do atributo usa o nome do banco de dados e o nome da coleção. Para obter informações sobre essas configurações e outras propriedades que você pode configurar, consulte Saída - configuração. Aqui está um DocumentDB exemplo de atributo em uma assinatura de método:

    [FunctionName("QueueToDocDB")]
    public static void Run(
        [QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")] string myQueueItem,
        [DocumentDB("ToDoList", "Items", Id = "id", ConnectionStringSetting = "myCosmosDB")] out dynamic document)
    {
        ...
    }

Para obter um exemplo completo, consulte Saída.

Saída - configuração

A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json e no DocumentDB atributo.

function.json propriedade Propriedade Attribute Description
type n/d Deve ser definido como documentdb.
direção n/d Deve ser definido como out.
Designação n/d Nome do parâmetro de vinculação que representa o documento na função.
Nome do banco de dados Nome do Banco de Dados A base de dados que contém a coleção onde o documento é criado.
collectionName CollectionName O nome da coleção onde o documento é criado.
createIfNotExists CreateIfNotExists Um valor booleano para indicar se a coleção é criada quando não existe. O padrão é false porque novas coleções são criadas com taxa de transferência reservada, o que tem implicações de custo. Para obter mais informações, consulte a página de preços.
partitionKey PartitionKey Quando CreateIfNotExists for true, define o caminho da chave de partição para a coleção criada.
collectionThroughput Taxa de transferência de coleção Quando CreateIfNotExists é true, define a taxa de transferência da coleção criada.
conexão ConnectionStringSetting O nome da configuração do aplicativo que contém sua cadeia de conexão do Azure Cosmos DB.

Quando estiver desenvolvendo localmente, adicione as configurações do aplicativo no arquivo local.settings.json na Values coleção.

Saída - uso

Por padrão, quando você grava no parâmetro de saída em sua função, um documento é criado em seu banco de dados. Este documento tem um GUID gerado automaticamente como ID do documento. Você pode especificar a ID do documento de saída especificando a id propriedade no objeto JSON passado para o parâmetro output.

Nota

Quando você especifica a ID de um documento existente, ela é substituída pelo novo documento de saída.

Exceções e códigos de devolução

Enlace Referência
Azure Cosmos DB Códigos de estado HTTP do Azure Cosmos DB

Próximos passos