Funções Ativadas pelo OBS
V1.0 – Julho 2024
Versão | Autor | Descrição |
---|---|---|
V1.0 – 2024-07-04 | Diogo Hatz d50037923 | Versão Inicial |
V1.0 – 2024-07-04 | Wisley da Silva Paulo 00830850 | Revisão do Documento |
Objetivo
Este documento objetiva apresentar os procedimentos necessários para a criação de uma função no serviço serverless FunctionGraph da Huawei Cloud com ativação por meio de upload de novos objetos em buckets do OBS.
Agency
Para delegar permissões do serviço de object storage (OBS) para o FunctionGraph, faz-se necessário criar uma agency com permissões sobre o OBS. Navegue até o serviço IAM no console da Huawei Cloud e clique na página “Agencies”. Clique para criar uma agency em “Create Agency”.
Dê um nome para a agency, selecione o tipo de agency como “Cloud Service” e selecione o serviço FunctionGraph. Clique em “Next” para avançar.
Delegue permissões de “OBS ReadOnlyAccess” para a agency e clique em “Next” e, então, em “OK” para concluir.
FunctionGraph
Acesse o serviço FunctionGraph no console da Huawei Cloud e navegue até a página Functions > Function List. Clique em “Create Function”.
Selecione a opção “Create from scratch”, dê um nome para a função, selecione o runtime em que a função será executada e selecione a agency criada no item 2.0 deste documento.
Tendo criada a função, clique em “Create Trigger” para criar um trigger para a função ser ativada.
Selecione o Trigger Type como sendo “Object Storage Service (OBS)”, selecione o bucket desejado e o Event como “ObjectCreated”, para que a função seja ativada toda vez que um novo objeto aparecer no bucket em questão. Também é possível configurar um prefixo e um sufixo dos objetos específicos que irão acionar a função, configurando um Prefix ou Suffix.
Tendo criado o trigger, agora basta importar o código que será executado pela função em Code Source, como APIs.
Também é possível adicionar dependências e bibliotecas third-party navegando até a parte de baixo do painel da função.
Exemplo
Neste exemplo, uma função em Python foi escrita para realizar uma requisição em um servidor web rodando em uma ECS toda vez que um novo objeto aparecer no bucket definido no item 3.0 deste documento.
Realizando o upload de um objeto no bucket definido:
Resultado no listener do servidor:
Referências
- Documentação do FunctionGraph: https://support.huaweicloud.com/intl/en-us/usermanual-functiongraph/functiongraph_01_0205.html