Um serviço do Azure que fornece uma plataforma de computação sem servidor orientada a eventos.
Olá @Gustavo Ribeiro dos Santos ,
Observação: Como estou traduzindo esta resposta para o português, peço desculpas antecipadamente por qualquer erro gramatical ou imprecisão.
Bem-vindo ao fórum de perguntas e respostas.
Sim, Event Grid + Azure Functions é uma boa abordagem para esse cenário. Para manter a solução simples e evitar problemas de memória, recomendo o seguinte:
Habilite o particionamento de arquivos para a exportação do Cost Management, para que arquivos grandes sejam divididos em arquivos menores antes de chegarem à Function.
Use o conjunto de dados FOCUS se os dados forem consumidos pelo GCP, pois ele oferece um formato mais padronizado e independente do provedor.
Se utilizar o Azure Functions, evite carregar o arquivo inteiro na memória. Use uma Function acionada pelo Blob/Event Grid com BlobClient e faça o streaming do arquivo diretamente para o GCS em partes.
Para autenticação, use Managed Identity para acessar o Azure Storage. No lado do GCP, recomendamos preferencialmente o Workload Identity Federation, em vez de armazenar chaves de contas de serviço.
Torne a transferência idempotente, pois as exportações do Cost Management podem atualizar o mesmo caminho do blob e gerar eventos novamente.
Monitore as tentativas e as transferências com falha para garantir que nenhuma exportação seja perdida sem ser identificada.
Fluxo recomendado:
Cost Management Export → Blob particionado → Event Grid → Azure Function → Streaming → Google Cloud Storage
Essa abordagem mantém o baixo consumo de memória, evita processamento desnecessário e oferece maior confiabilidade para grandes exportações de dados de FinOps.
Espero que isso seja útil. Caso tenha outras dúvidas, fique à vontade para nos informar.
Obrigado!