Criar uma função acionada pelo Azure Cosmos DB
Saiba como criar uma função no portal do Azure que é acionada quando os dados são adicionados ou alterados no Azure Cosmos DB. Para saber mais sobre o Azure Cosmos DB, veja Azure Cosmos DB: Serverless database computing using Azure Functions (Azure Cosmos DB: computação de base de dados sem servidor com as Funções do Azure).
Nota
A edição no portal só é suportada para funções JavaScript, PowerShell e C# Script. A edição Python no portal é suportada apenas quando executada no plano de consumo. Para criar um aplicativo de script C# que ofereça suporte à edição no portal, você deve escolher uma versão de tempo de execução que ofereça suporte ao modelo em processo.
Sempre que possível, deve desenvolver as suas funções localmente.
Para saber mais sobre as limitações na edição de código de função no portal do Azure, consulte Limitações de desenvolvimento no portal do Azure.
Pré-requisitos
Para concluir este tutorial:
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Nota
As associações do Azure Cosmos DB só têm suporte para uso com o Azure Cosmos DB para NoSQL. O suporte para o Azure Cosmos DB for Table é fornecido usando as associações de armazenamento de tabela, começando com a extensão 5.x. 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 o Azure Cosmos DB para MongoDB, Azure Cosmos DB para Cassandra e Azure Cosmos DB para Apache Gremlin.
Iniciar sessão no Azure
Inicie sessão no portal do Azure com a sua conta do Azure.
Criar uma conta do Azure Cosmos DB
Tem de ter uma conta do Azure Cosmos DB que utilize a API SQL para poder criar o acionador.
A partir do menu do portal do Azure ou a partir da Home page, selecione Criar um recurso.
Procure o Azure Cosmos DB. Selecione Criar>Azure Cosmos DB.
Na página Criar uma conta do Azure Cosmos DB, selecione a opção Criar na seção Azure Cosmos DB para NoSQL.
O Azure Cosmos DB fornece várias APIs:
- NoSQL, para dados de documentos
- PostgreSQL
- MongoDB, para dados de documentos
- Apache Cassandra
- Tabela
- Apache Gremlin, para dados gráficos
Para saber mais sobre a API para NoSQL, consulte Bem-vindo ao Azure Cosmos DB.
Na página Criar Conta do Azure Cosmos DB, insira as configurações básicas para a nova conta do Azure Cosmos DB.
Definição valor Description Subscrição Nome da subscrição Selecione a subscrição do Azure que pretende utilizar para esta conta do Azure Cosmos DB. Grupo de Recursos Nome do grupo de recursos Selecione um grupo de recursos ou selecione Criar novo e, em seguida, introduza um nome exclusivo para o novo grupo de recursos. Nome da Conta Um nome exclusivo Insira um nome para identificar sua conta do Azure Cosmos DB. Uma vez que documents.azure.com é anexado ao nome que indicar para criar o URI, utilize um nome exclusivo. O nome pode conter apenas letras minúsculas, números e o caractere hífen (-). Deve ter de 3 a 44 caracteres. Location A região mais próxima dos seus utilizadores Selecione a localização geográfica para alojar a sua conta do Azure Cosmos DB. Utilize a localização mais próxima dos utilizadores para lhes dar o acesso mais rápido aos dados. Modo de capacidade Taxa de transferência provisionada ou sem servidor Selecione Taxa de transferência provisionada para criar uma conta no modo de taxa de transferência provisionada. Selecione Serverless para criar uma conta no modo serverless . Aplicar desconto de nível gratuito do Azure Cosmos DB Candidatar-se ou Não aplicar Com o nível gratuito do Azure Cosmos DB, você obtém os primeiros 1000 RU/s e 25 GB de armazenamento gratuitamente em uma conta. Saiba mais sobre o nível gratuito. Limitar a taxa de transferência total da conta Selecionado ou não Limite a quantidade total de taxa de transferência que pode ser provisionada nessa conta. Esse limite evita cobranças inesperadas relacionadas à taxa de transferência provisionada. Você pode atualizar ou remover esse limite depois que sua conta for criada. Você pode ter até uma conta gratuita do Azure Cosmos DB por assinatura do Azure e deve optar por participar ao criar a conta. Se você não vir a opção de aplicar o desconto de nível gratuito, outra conta na assinatura já foi habilitada com o nível gratuito.
Nota
As seguintes opções não estarão disponíveis se você selecionar Serverless como o modo de Capacidade:
- Aplicar Desconto de Escalão Gratuito
- Limitar a taxa de transferência total da conta
Na guia Distribuição Global, configure os seguintes detalhes. Você pode deixar os valores padrão para este início rápido:
Definição valor Description Georredundância Desativar Habilite ou desative a distribuição global em sua conta emparelhando sua região com uma região par. Pode adicionar mais regiões à sua conta mais tarde. Escritas de várias regiões Desativar O recurso de gravação em várias regiões permite que você aproveite a taxa de transferência provisionada para seus bancos de dados e contêineres em todo o mundo. Zonas de Disponibilidade Desativar As zonas de disponibilidade ajudam a melhorar ainda mais a disponibilidade e a resiliência do seu aplicativo. Nota
As opções a seguir não estarão disponíveis se você selecionar Serverless como o modo de capacidade na página Noções básicas anterior:
- Georredundância
- Escritas de várias regiões
Opcionalmente, você pode configurar mais detalhes nas seguintes guias:
- Redes. Configure o acesso a partir de uma rede virtual.
- Política de backup. Configure a política de backup periódico ou contínuo .
- Encriptação. Use uma chave gerenciada pelo serviço ou uma chave gerenciada pelo cliente.
- Etiquetas. As etiquetas são pares nome/valor que permitem categorizar recursos e ver faturação consolidada aplicando a mesma etiqueta a múltiplos recursos e grupos de recursos.
Selecione Rever + criar.
Reveja as definições da conta e, em seguida, selecione Criar. A criação da conta demora alguns minutos. Aguarde até que a página do portal apresente A implementação está concluída.
Selecione Ir para recurso para aceder à página da conta do Azure Cosmos DB.
Criar uma aplicação de funções no Azure
A partir do menu do portal do Azure ou a partir da Home page, selecione Criar um recurso.
Na página Novo, selecione Aplicativo de função de computação>.
Em Selecione uma opção de hospedagem, selecione Consumo>Selecione para criar seu aplicativo no plano de consumo padrão. Nesta opção de hospedagem sem servidor, você paga apenas pelo tempo em que suas funções são executadas. O plano Premium também oferece escalonamento dinâmico. Quando executa num plano do Serviço de Aplicações, tem de gerir o dimensionamento da sua aplicação de funções.
Na página Noções básicas, use as configurações do aplicativo de função conforme especificado na tabela a seguir:
Definição Valor sugerido Description Subscrição a sua subscrição A subscrição ao abrigo da qual cria a sua nova aplicação funcional. Grupo de Recursos myResourceGroup Nome para o novo grupo de recursos no qual você cria seu aplicativo de função. Você deve criar um novo grupo de recursos porque há limitações conhecidas ao criar novos aplicativos de função em um grupo de recursos existente. Nome da Aplicação de Funções Nome globalmente exclusivo Nome que identifica a sua aplicação Function App nova. Os carateres válidos são a-z
(não sensível a maiúsculas e minúsculas),0-9
e-
.Pilha de runtime Idioma Preferencial Escolha um tempo de execução que suporte a sua linguagem de programação de funções favorita. A edição no portal só está disponível para JavaScript, PowerShell, Python, TypeScript e script C#.
Para criar um aplicativo de script C# que ofereça suporte à edição no portal, você deve escolher uma versão de tempo de execução que ofereça suporte ao modelo em processo.
A biblioteca de classes C# e as funções Java devem ser desenvolvidas localmente.Versão Número de versão Escolha a versão do seu tempo de execução instalado. Região Região preferida Selecione uma região perto de você ou perto de outros serviços que suas funções possam acessar. Sistema Operativo Windows Um sistema operacional é pré-selecionado para você com base na seleção da pilha de tempo de execução, mas você pode alterar a configuração, se necessário. A edição no portal só é suportada no Windows. Aceite as opções padrão nas guias restantes, incluindo o comportamento padrão de criar uma nova conta de armazenamento na guia Armazenamento e uma nova instância do Application Insight na guia Monitoramento . Você também pode optar por usar uma conta de armazenamento existente ou uma instância do Application Insights.
Selecione Rever + criar para rever a configuração da aplicação que escolheu e, em seguida, selecione Criar para provisionar e implementar a aplicação funcional.
Selecione o ícone Notificações no canto superior direito do portal e observe a mensagem Implantação bem-sucedida .
Selecione Ir para o recurso para ver a sua nova aplicação de funções. Você também pode selecionar Fixar no painel. A fixação facilita o retorno a esse recurso de aplicativo funcional a partir do seu painel.
Em seguida, vai criar uma função na aplicação Function App nova.
Criar acionador do Azure Cosmos DB
Na sua aplicação de funções, selecione Descrição Geral e, em seguida, selecione + Criar em Funções.
Em Selecione um modelo, role para baixo e escolha o modelo de gatilho do Azure Cosmos DB.
Em Detalhes do modelo, configure o novo gatilho com as configurações especificadas nesta tabela e selecione Criar:
Definição Valor sugerido Description Nova função Aceitar a predefinição do nome O nome da função. Ligação de conta do Azure Cosmos DB Aceitar o novo nome padrão Selecione Novo, a Conta de Banco de Dados criada anteriormente e OK. Esta ação cria uma configuração de aplicativo para sua conexão de conta. Esta definição é utilizada pelo enlace para a ligação à base de dados. Nome da base de dados Tarefas Nome do banco de dados que inclui a coleção a ser monitorada. Nome da coleção Items Nome da coleção a ser monitorada. Nome da coleção para locações leases Nome da coleção para armazenar as locações. Criar coleção de leasing se ela não existir Sim Verifica a existência da coleção de arrendamento e cria-a automaticamente. O Azure cria a função acionada do Azure Cosmos DB com base nos valores fornecidos.
Para exibir o código de função baseado em modelo, selecione Código + Teste.
Este modelo de função escreve o número de documentos e o primeiro ID de documento nos registos.
Em seguida, você se conecta à sua conta do Azure Cosmos DB e cria o Items
Tasks
contêiner no banco de dados.
Criar o contêiner Itens
Abra uma segunda instância do portal do Azure num novo separador no browser.
No lado esquerdo do portal, expanda a barra de ícones, escreva
cosmos
no campo de pesquisa e selecione Azure Cosmos DB.Escolha a sua conta do Azure Cosmos DB e, em seguida, selecione o Data Explorer.
Em API SQL, escolha Banco de dados de tarefas e selecione Novo contêiner.
Em Adicionar contêiner, use as configurações mostradas na tabela abaixo da imagem.
Definição Valor sugerido Description ID da Base de Dados Tarefas O nome da base de dados nova. Isto deve corresponder ao nome definido no enlace de função. ID do Contentor Items O nome do novo contêiner. Isto deve corresponder ao nome definido no enlace de função. Chave de partição /Category Uma chave de partição que distribui uniformemente os dados para cada partição. Selecionar a chave de partição correta é importante na criação de um contêiner de desempenho. Débito 400 RU Utilize o valor predefinido. Se quiser reduzir a latência, pode aumentar verticalmente o débito mais tarde. Clique em OK para criar o contêiner Itens. Pode levar um curto período de tempo para que o contêiner seja criado.
Depois que o contêiner especificado na associação de função existir, você poderá testá-la adicionando itens a esse novo contêiner.
Testar a função
Expanda o novo contêiner Itens no Data Explorer, escolha Itens e selecione Novo Item.
Substitua o conteúdo do novo item pelo conteúdo a seguir e escolha Salvar.
{ "id": "task1", "category": "general", "description": "some task" }
Mude para o primeiro separador do browser que contém a função no portal. Expanda os registos de função e certifique-se de que o novo documento acionou a função. Veja se o valor do ID do documento
task1
está escrito nos registos.(Opcional) Volte para o seu documento, faça uma alteração e clique em Atualizar. Em seguida, volte para os registos de função e certifique-se de que a atualização também acionou a função.
Clean up resources (Limpar recursos)
Outros guias de introdução desta coleção têm por base este guia de introdução. Se você planeja trabalhar com inícios rápidos, tutoriais ou com qualquer um dos serviços criados neste início rápido, não limpe os recursos.
Os recursos no Azure referem-se a aplicações de funções, funções, contas de armazenamento e assim sucessivamente. Eles são agrupados em grupos de recursos e você pode excluir tudo em um grupo excluindo o grupo.
Você criou recursos para concluir esses inícios rápidos. Você pode ser cobrado por esses recursos, dependendo do status da sua conta e do preço do serviço. Se já não precisar dos recursos, pode eliminá-los da seguinte forma:
No portal do Azure, visite a página Grupo de recursos.
Para aceder a essa página a partir da página da aplicação de funções, selecione o separador Descrição Geral e, em seguida, selecione a ligação em Grupo de recursos.
Para aceder a essa página a partir do dashboard, selecione Grupos de recursos e, em seguida, selecione o grupo de recursos que utilizou para este artigo.
Na página Grupo de recursos, revise a lista de recursos incluídos e verifique se eles são aqueles que você deseja excluir.
Selecione Excluir grupo de recursos e siga as instruções.
A exclusão pode levar alguns minutos. Quando terminar, é apresentada uma notificação durante alguns segundos. Também pode selecionar o ícone de sino na parte superior da página para ver a notificação.
Próximos passos
Foi criada com uma função que é executada quando um documento é adicionado ou modificado no seu Azure Cosmos DB. Para obter mais informações sobre os acionadores do Azure Cosmos DB, veja Enlaces do Cosmos DB das Funções do Azure.
Agora que você criou sua primeira função, vamos adicionar uma ligação de saída à função que grava uma mensagem em uma fila de armazenamento.
Add messages to an Azure Storage queue using Functions (Utilizar as Funções para adicionar mensagens a uma fila do Armazenamento do Azure)