Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como configurar um fluxo de trabalho de notificação automatizado para atualizar o status de uma API após o registro no centro de API da sua organização. Adapte este exemplo para automatizar fluxos de trabalho para outros tipos de eventos no centro de API.
Há vários benefícios para configurar um fluxo de trabalho de notificação:
- Atualizações em tempo real: receber alertas imediatamente quando determinados eventos ocorrerem, como o registro de API ou atualizações de definição de API. Resolva rapidamente problemas ou tome medidas adicionais com base nesses eventos.
- Automação: economize tempo e reduza o monitoramento manual. Por exemplo, configure alertas para quando uma nova API é registrada, uma definição de API é alterada ou relatórios de análise de API são gerados.
- Experiência aprimorada do usuário: aproveite as notificações integradas e mantenha os usuários informados sobre o status de suas solicitações ou ações. As ações podem incluir processos de aprovação para suas APIs ou alteração de metadados personalizados com base em critérios.
- Colaboração: envie notificações para diferentes membros da equipe com base em suas funções (administrador de API, desenvolvedor de API e assim por diante) e verifique se os usuários certos são informados e podem tomar as medidas apropriadas.
O exemplo neste artigo cria o seguinte processo:
- Quando uma API é registrada no centro de API, um evento dispara um fluxo de trabalho Azure Logic Apps.
- O fluxo de trabalho envia uma notificação em Microsoft Teams para um usuário designado.
- O usuário decide o status do registro de API diretamente da notificação em Microsoft Teams.
- O fluxo de trabalho atualiza os metadados de status da API no registro da API com base na decisão do usuário. O status da API é uma propriedade de metadados personalizada que você configurou no centro de API.
Você pode adaptar o exemplo para atender aos requisitos de notificação e governança da sua organização para o centro de API. Você também pode disparar um fluxo de trabalho de nuvem automatizado semelhante no Microsoft Power Automate.
Pré-requisitos
Um centro de API em sua assinatura Azure. Para criar uma assinatura, consulte Início Rápido: Criar seu centro de API.
Uma instância de Azure Logic Apps em sua assinatura do Azure. Para o exemplo neste artigo, você pode criar um aplicativo de lógica de Consumo seguindo as etapas em Guia de início rápido: Criar um exemplo de fluxo de trabalho de aplicativo de lógica de consumo no portal do Azure. Crie apenas o recurso. Posteriormente neste artigo, você adicionará gatilhos ao fluxo de trabalho.
Permissões para atribuir funções do RBAC no centro de API.
O provedor de recursos da Grade de Eventos registrado na sua assinatura. Se você precisar registrar o provedor de recursos da Grade de Eventos, consulte Assine eventos publicados por um parceiro com a Grade de Eventos do Azure.
Adicionar uma propriedade de metadados personalizada no centro de API
O fluxo de trabalho demonstrado neste artigo define o valor de uma propriedade personalizada de metadados de exemplo em seu centro de API, que é usada para acompanhar o status de um registro de API.
Crie uma propriedade personalizada api-status no centro de API:
No Azure portal, navegue até o centro de API.
Expanda Inventário, selecione Metadados e selecione + Novos metadados.
Na guia Detalhes , defina as seguintes configurações:
Para o valor título , insira api-status.
Para o valor tipo , selecione opções predefinidas.
Para o conjunto de Opções, adicione os seguintes nomes: novos, pendentes, aprovados. Selecione Avançar.
Na guia Atribuições , defina o valor das APIs como Opcional.
(Opcional) Faça atribuições para Implantações e Ambientes valores. Selecione Avançar.
Examine a configuração e selecione Criar.
Habilitar uma identidade gerenciada em seu aplicativo lógico
Para esse cenário, o aplicativo de lógica usa uma identidade gerenciada para acessar a central de API. Com base nas suas necessidades, habilite uma identidade gerenciada atribuída pelo sistema ou pelo usuário. Para configurar a identidade gerenciada, consulte Autenticar acesso e conexões com recursos do Azure com identidades gerenciadas no Azure Logic Apps.
Atribuir permissões à identidade gerenciada
Atribua à identidade gerenciada do aplicativo de lógica as permissões necessárias para acessar a central de API. Para esse cenário, atribua a função Colaborador à identidade gerenciada.
No Azure portal, navegue até o centro de API e selecione Access control (IAM).
Selecione +Adicionar>Adicionar atribuição de função.
Selecione a guia funções de administrador com privilégios .
Na lista de funções, selecione Colaborador e selecione Avançar.
Na página Members, em Atribuir acesso a, selecione Identidade gerenciada.
Em Membros, selecione + Selecionar membros.
Na página Selecionar identidades gerenciadas , defina a identidade gerenciada para seu novo aplicativo lógico e escolha Selecionar.
Na atribuição Adicionar função, selecione Avançar.
Examine a atribuição de função e selecione Examinar + atribuir.
Configurar o fluxo de trabalho do aplicativo lógico
Esta seção fornece as etapas manuais para configurar uma assinatura de evento que dispara um fluxo de trabalho de aplicativo lógico quando uma API é registrada no centro de API.
Acionar quando ocorrer um evento de recurso
Configure uma etapa de fluxo de trabalho para disparar o fluxo de trabalho do aplicativo lógico quando ocorrer um evento no centro de API.
No portal do Azure, navegue até o aplicativo de lógica.
Expanda as ferramentas de desenvolvimento e selecione o designer de aplicativos lógicos.
No surface do designer, selecione Adicionar um gatilho.
Pesquise Azure Event Grid e selecione o gatilho Quando ocorrer um evento de recurso.
No painel Quando ocorrer um evento de recurso , defina as seguintes configurações:
Para o valor de tipo de recurso, selecione Microsoft.ApiCenter.Services.
Para o valor da assinatura , selecione sua assinatura.
Para o valor nome do recurso , insira o nome completo do recurso do centro de API, no seguinte formulário:
/subscriptions/<subscription ID>/resourceGroups/<resource group nam>/providers/Microsoft.ApiCenter/services/<API Center name>Para o valor do Item de Tipo de Evento - 1, insira ou selecione Microsoft.ApiCenter.ApiAdded.
Feche o painel para retornar à surface de design.
Inicializar uma variável para a ID da API
Adicione uma etapa de fluxo de trabalho para inicializar uma variável que armazena a ID da API registrada.
No widget Quando ocorrer um evento de recurso, selecione o sinal de mais +, e selecione Adicionar uma ação.
Pesquise variáveis e selecione Inicializar variáveis.
No painel Inicializar variáveis , defina as seguintes configurações para uma Nova Variável:
Para o valor nome , insira subjectvar.
Para o valor tipo , selecione Cadeia de caracteres.
Para o valor Valor, insira a barra de avanço
/e selecione Inserir conteúdo dinâmico.Em Quando um evento de recurso ocorre, selecione Assunto.
Inicializar uma variável para a versão da API
Adicione uma etapa de fluxo de trabalho para inicializar uma variável para armazenar a versão da API de gerenciamento do Centro de API. Essa versão é necessária para as solicitações HTTP no fluxo de trabalho.
Dica
Inicializar uma variável para a versão facilita a alteração do valor posteriormente, pois a API de gerenciamento é atualizada.
No painel Inicializar variáveis , selecione Adicionar uma Variável.
Defina as seguintes configurações:
Para o valor nome , insira versionvar.
Para o valor tipo , selecione Cadeia de caracteres.
Para o valor Valor , insira
?api-version=2024-03-01.
Feche o painel para retornar à surface de design.
Configurar uma ação HTTP para obter os detalhes da API
Adicione uma etapa de fluxo de trabalho para fazer uma solicitação HTTP GET para recuperar detalhes da API do centro de API.
No widget de ação Inicializar variáveis, selecione o sinal de adição + e selecione Adicionar uma ação.
Pesquise HTTP e selecione HTTP.
No painel HTTP :
Para o valor URI, insira
https://management.azure.com/(incluindo a barra inclinada à frente/).Quando o sistema detectar a barra invertida
/, selecione Inserir conteúdo dinâmico e selecione a variável subjectvar.Insira a barra
/para frente novamente, selecione Inserir conteúdo dinâmico e selecione a variável versionvar .
O valor final deve ser semelhante a este exemplo em que o URI termina com uma barra
/para frente:
Para o Método, selecione GET.
Em parâmetros avançados, expanda a lista suspensa e selecione Autenticação. Defina as seguintes configurações:
Para o valor do tipo autenticação , selecione Identidade Gerenciada.
Para o valor de identidade gerenciada , selecione a identidade gerenciada atribuída pelo sistema.
Para o valor Audience, insira o valor de URI
https://management.azure.com/.
Feche o painel para retornar à surface de design.
Analisar o resultado da ação JSON
Adicione uma etapa de fluxo de trabalho para analisar a saída JSON da solicitação HTTP anterior.
No widget de ação HTTP, selecione o sinal de mais + e selecione Adicionar uma ação.
Pesquise por Analisar JSON e selecione Analisar JSON em Operações de dados.
No painel Analisar JSON , defina as seguintes configurações:
Para o valor Conteúdo, insira a barra (/) e selecione
/.Em HTTP, selecione Corpo.
Para o valor Schema, insira o seguinte código:
{ "type": "object", "properties": { "type": { "type": "string" }, "properties": { "type": "object", "properties": { "title": { "type": "string" }, "kind": { "type": "string" }, "description": { "type": "string" }, "lifecycleStage": { "type": "string" }, "externalDocumentation": { "type": "array" }, "contacts": { "type": "array" }, "customProperties": { "type": "object", "properties": {} } } }, "id": { "type": "string" }, "name": { "type": "string" }, "systemData": { "type": "object", "properties": { "createdAt": { "type": "string" }, "lastModifiedAt": { "type": "string" } } } } }
A imagem a seguir mostra as configurações no painel Analisar JSON :
Feche o painel para retornar à surface de design.
Publicar um cartão adaptável no Teams
Adicione uma etapa de fluxo de trabalho para postar a notificação como um cartão adaptável no Microsoft Teams.
No widget de ação Analisar JSON, selecione o sinal de mais +, e selecione Adicionar uma ação.
Pesquise Teams e, em seguida, selecione Postar cartão adaptável e aguardar uma resposta em Microsoft Teams.
Talvez seja necessário selecionar Ver mais para localizar essa opção. Se solicitado, entre em sua conta Microsoft Teams.
No painel Envie o cartão adaptativo e aguarde uma resposta, defina as seguintes configurações:
Para o valor de Postar como, selecione Bot do flow.
Para o valor Publicar em, selecione uma opção apropriada para a configuração do Teams. Para testar, selecione Chat com o bot do Flow.
Para o valor da mensagem , insira o texto a seguir para um cartão adaptável. Modifique o texto conforme necessário.
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "Hi API Admin,", "weight": "Bolder", "size": "Medium" }, { "type": "TextBlock", "text": "A new API has been registered.", "wrap": true }, { "type": "TextBlock", "text": "API Title: **{{apiTitle}}**", "wrap": true }, { "type": "TextBlock", "text": "Please provide the status for this API:", "wrap": true }, { "type": "Input.ChoiceSet", "id": "apiStatus", "style": "expanded", "choices": [ { "title": "New", "value": "new" }, { "title": "Pending", "value": "pending" }, { "title": "Approved", "value": "approved" } ], "isRequired": true, "errorMessage": "Please select a status." } ], "actions": [ { "type": "Action.Submit", "title": "Submit" } ] }
Ajuste o título da mensagem. Na seção
"body"do esquema de mensagem, localize a instrução"text": "API Title: **{{apiTitle}}**",.Selecione a parte da instrução
{{apiTitle}}e exclua-a.Insira a barra invertida
/e selecione Inserir conteúdo dinâmico.Em Analisar o JSON, selecione Título do corpo para substituir o texto selecionado pelo conteúdo dinâmico.
A parte atualizada deve ser semelhante a este exemplo:
Para o valor destinatário , insira o endereço de email do usuário que recebe notificações.
Captura de tela do cartão de postagem adaptável para a ação do Teams no portal do Azure.
Feche o painel para retornar à surface de design.
Inicializar uma variável para o status da API
Adicione um passo ao fluxo de trabalho para inicializar o valor de uma variável que armazena o valor de status da API retornado do cartão adaptável do Teams.
No widget da ação Postar cartão adaptável e aguardar uma resposta, selecione o ícone de adição +, e selecione Adicionar uma ação.
Pesquise variáveis e selecione Inicializar variáveis.
No painel Inicializar variáveis , defina as seguintes configurações para uma Nova Variável:
Para o valor Nome, insira statusvar.
Para o valor tipo , selecione Cadeia de caracteres.
Para o valor Valor , insira o script
@body('Post_adaptive_card_and_wait_for_a_response')?['data']?['apiStatus'].Depois de inserir o script, o sistema adiciona o
body(...)glifo ao valor de configuração. Você pode passar o cursor sobre o glifo para confirmar se o script está adicionado conforme o esperado.
Feche o painel para retornar à surface de design.
O sistema adiciona o novo widget com o nome Inicializar variáveis 1 ao fluxo de trabalho. O número no título indica que você tem outra ação do mesmo tipo nesse fluxo de trabalho. A primeira instância da ação é o número 0, a segunda é o número 1 e assim por diante. Você pode alterar o nome do widget no painel Inicializar variáveis .
Configurar uma ação HTTP para atualizar as propriedades da API
Adicione uma etapa de fluxo de trabalho para fazer uma solicitação HTTP PUT para atualizar as propriedades da API no centro de API.
No widget de ação Inicializar variáveis 1, selecione o sinal de mais +, e selecione Adicionar uma ação.
Pesquise por HTTP e selecione HTTP.
No painel HTTP , defina as seguintes configurações:
Para o valor URI, insira
https://management.azure.com/(incluindo a barra final/).Quando o sistema detectar a barra invertida
/, selecione Inserir conteúdo dinâmico e selecione a variável subjectvar.Insira a barra
/para frente novamente, selecione Inserir conteúdo dinâmico e selecione a variável versionvar .
O valor final deve ser semelhante a este exemplo em que o URI termina com uma barra
/para frente:
Para o valor do método , selecione PUT.
Para o valor Corpo, insira o seguinte código:
{ "properties": { "customProperties": { "api-status": "@variables('statusvar')" }, "title": "@body('Parse_JSON')?['properties']?['title']", "description": "@body('Parse_JSON')?['properties']?['description']", "lifecycleStage": "@body('Parse_JSON')?['properties']?['lifecycleStage']", "kind": "@body('Parse_JSON')?['properties']?['kind']" } }Em parâmetros avançados, selecione Autenticação e defina as seguintes configurações:
Para o valor do tipo autenticação , selecione Identidade Gerenciada.
Para o valor de identidade gerenciada , selecione a identidade gerenciada atribuída pelo sistema.
Para o valor Audience, insira
https://management.azure.com/.
Feche o painel para retornar à surface de design.
O sistema adiciona o novo widget com o nome HTTP 1 ao fluxo de trabalho. Você pode alterar o nome do widget no painel HTTP .
Salvar o fluxo de trabalho
No Designer de aplicativos lógicos, selecione Salvar na barra de menus para salvar seu fluxo de trabalho. O fluxo de trabalho completo deve ser semelhante ao exemplo a seguir:
Confirme se a assinatura do evento foi criada com êxito no centro de API. A assinatura do evento pode levar alguns minutos para ser provisionada.
No Azure portal, navegue até o centro de API.
Expanda Eventos e selecione Assinaturas de Eventos.
Confirme se Aplicativos Lógicos está listado como Nome e se o ponto de extremidade está definido como o Webhook.
Teste a assinatura do evento.
Teste a assinatura do evento registrando uma API no centro de API:
No Azure portal, navegue até o centro de API.
Registre uma API no centro de API.
Depois que a API for registrada, confirme as seguintes ações:
- O fluxo de trabalho do Logic App é acionado pela assinatura de evento.
- O fluxo de trabalho do aplicativo lógico é executado e envia uma notificação para o destinatário designado em Microsoft Teams.
Em Microsoft Teams, exiba o cartão adaptável, faça uma seleção de status de API e selecione Submit.
O workflow do aplicativo lógico atualiza a propriedade do api-status no registro da API no centro de APIs.
No centro de API, exiba os detalhes da API para ver o valor atualizado da propriedade personalizada
api-status.
Visualizar o histórico do processo do aplicativo lógico
Para obter detalhes sobre o processo do aplicativo lógico e solucionar problemas:
No portal do Azure, navegue até o aplicativo de lógica.
Expanda as Ferramentas de Desenvolvimento e selecione Histórico de Execuções.
Selecione a execução para ver os detalhes de cada etapa.