No AZ-204, o API Management e os servicos de eventos sao o nucleo do dominio de integracao. Isso abrange como expor APIs com seguranca e construir arquiteturas baseadas em eventos.
Azure API Management (APIM)
O APIM e como o balcao de informacoes de um shopping center. Cada visitante (cliente) passa pelo balcao independentemente de qual loja (servico backend) queira visitar, e o balcao cuida da verificacao de identidade, orientacao e registro.
Com o APIM, voce pode agrupar multiplas APIs backend em um unico gateway consistente e expor ao mundo externo.
| Recurso | Descricao | |---------|-----------| | Publicacao de APIs | Expor APIs backend com seguranca a consumidores externos | | Protecao | Autenticacao, limitacao de taxa, filtragem por IP | | Transformacao | Converter formatos de requisicao/resposta, adicionar/remover cabecalhos | | Monitoramento | Logs de chamadas, painel de analise |
Produtos, Assinaturas e Chaves
| Conceito | Descricao | Exemplo | |---------|-----------|---------| | Produto | Pacote que agrupa uma ou mais APIs | "APIs do Plano Gratuito", "APIs Premium" | | Assinatura | Solicitacao para acessar um produto | Um desenvolvedor assina o "Plano Gratuito" | | Chave de assinatura | Token de autenticacao para chamar a API | Enviada no cabecalho |
Os clientes incluem a chave de assinatura em um cabecalho HTTP ou parametro de consulta ao fazer chamadas de API.
Politicas do APIM (Policies)
Politicas sao regras que interceptam e processam requisicoes ou respostas no gateway do APIM. Sao escritas em formato XML.
O pipeline de politicas
Cada requisicao e resposta passa por quatro etapas:
Entrada (Inbound): Processa a requisicao do cliente antes de chegar ao gateway Backend: Processa a requisicao antes de encaminha-la ao backend Saida (Outbound): Processa a resposta do backend antes de envia-la ao cliente Em erro (On-Error): Trata qualquer erro que ocorra
Referencia de politicas comuns
| Politica | Posicao | Descricao | |---------|---------|-----------| | rate-limit | Entrada | Limitar numero de chamadas (retorna 429 ao exceder) | | ip-filter | Entrada | Permitir ou bloquear por endereco IP | | set-header | Entrada / Saida | Adicionar, modificar ou excluir cabecalhos | | rewrite-uri | Entrada | Transformar o caminho da URL enviada ao backend | | mock-response | Entrada | Retornar uma resposta falsa sem chamar o backend real | | cache-lookup / cache-store | Entrada / Saida | Armazenar respostas em cache |
Azure Event Grid
O Event Grid e como o servico de notificacoes de uma agencia dos Correios. Quando alguem (a fonte de eventos) envia uma carta, os Correios (Event Grid) recebem e entregam para as pessoas que se inscreveram para receber aquele tipo de carta.
Use-o para construir uma arquitetura reativa que responde assim que um evento ocorre. Por exemplo, quando uma imagem e carregada no Blob Storage, voce pode disparar automaticamente uma Azure Function para gerar uma miniatura.
Componentes principais
| Componente | Funcao | Exemplo | |----------|--------|---------| | Fonte de eventos | O servico que gera eventos | Blob Storage, Grupo de recursos, app personalizado | | Topico | O canal pelo qual os eventos sao entregues | Topicos do sistema (criados automaticamente) / Topicos personalizados | | Assinatura de evento | Define quais eventos vao para qual manipulador | Evento de criacao de Blob → Function App | | Manipulador de eventos | O servico que recebe e processa o evento | Azure Function, Logic App, Webhook, Event Hubs |
O formato CloudEvents e suportado como padrao.
Azure Event Hubs
O Event Hubs e como as catracas de entrada de um grande estadio. Quando dezenas de milhares de pessoas chegam ao mesmo tempo, sao distribuidas entre multiplas entradas (particoes) para processamento paralelo, e a ordem de entrada fica registrada para consulta posterior.
Use-o para cenarios de streaming de big data que precisam lidar com milhoes de eventos por segundo.
Conceitos principais
| Conceito | Descricao | |---------|-----------| | Particao | Unidade que divide eventos para processamento paralelo (padrao: 4) | | Grupo de consumidores | Conjunto de consumidores que leem independentemente o mesmo fluxo de eventos | | Captura | Salva automaticamente eventos no Blob Storage ou Data Lake | | Retencao | Padrao 1 dia, ate 90 dias |
Comparacao: Event Grid vs Event Hubs
| Aspecto | Event Grid | Event Hubs | |--------|-----------|-----------| | Uso principal | Reagir imediatamente quando um evento ocorre | Processamento de fluxo de dados em grande escala | | Modelo de processamento | Entrega eventos um a um (push) | Processamento de fluxo ordenado | | Escala | Ate milhares por segundo | Ate milhoes por segundo | | Retencao | Nenhuma (excluido apos entrega) | Ate 90 dias | | Cenario tipico | Upload de arquivo dispara processamento | Dados de sensores IoT, streaming de logs |
!Event Grid vs Event Hubs
Pontos-chave do exame
"Consolidar multiplas APIs backend em um unico gateway" -- Azure API Management (APIM)
"Limitar chamadas de API a N por minuto" -- politica rate-limit (entrada)
"Permitir ou bloquear IPs especificos de acessar a API" -- politica ip-filter
"Transformar o caminho da URL antes de encaminhar ao backend" -- politica rewrite-uri
"Retornar uma resposta de teste sem um backend real" -- politica mock-response
"Ordem de execucao das politicas" -- Entrada → Backend → Saida → Em erro
"Disparar automaticamente uma Function quando um evento ocorre (reativo)" -- Azure Event Grid
"Componente-chave que se inscreve em eventos de upload de Blob" -- Assinatura de evento
"Lidar com milhoes de eventos por segundo para streaming em grande escala" -- Azure Event Hubs
"Salvar automaticamente dados do Event Hubs no Blob Storage" -- Captura (Capture)
"Multiplas equipes lendo o mesmo fluxo de forma independente" -- Grupo de consumidores