Integrando OpenPix com AWS Lambda
Configurando a AWS CLI
Precisamos ter a aws
CLI configurada também. É necessário, pois ela quem irá controlar toda
a questão de acesso para a sua conta e o script que vai fazer o deploy da sua aplicação, via CDK.
Neste link, contém a instalação para a CLI de acordo com o seu sistema operacional.
Depois disso será necessário que você configure a CLI a partir do comando: aws configure
. Ele irá
pedir alguns valores como: AWS Access Key ID
, AWS Secret Access Key
, etc. Para entender como de
fato conseguir tais valores, sugerimos ver a documentação da própria AWS, ela vai instruir o
passo a passo completo a respeito.
Referências
Configurando o CDK
Primeiro de tudo, é necessário instalar o CDK. Para isso, como pré-requisito é necessário ter o npm instalado na sua máquina também (se preferir, pode usar o Yarn).
Após instalação do NPM, você irá instalar o toolkit da AWS CDK da seguinte forma:
npm install --global aws-cdk
Após finalizar, valide que tudo ocorreu da forma correta com:
cdk --version
Referências
Repositório de boilerplate para CDK + AWS Lambda
Para os próximos passos, temos um repositório com boilerplate. Caso for do seu interesse para continuar as próximas etapas, você pode acessá-lo por aqui.
Fazendo o bootstrap do CDK
Por debaixo dos panos, o CDK utiliza outros recursos como os buckets do S3, etc. Precisamos criar eles para assegurar que todo o fluxo ocorra da forma correta. Para isso, execute:
cdk boostrap aws://ACCOUNT-NUMBER/REGION
Para você pegar tanto o ACCOUNT-NUMBER
quanto a REGION
desejada, caso não tenha em mãos,
via a AWS CLI que já utilizou anteriormente, execute o comando:
aws sts get-caller identity
Com isso você vai ver algumas informações a respeito da sua conta,incluindo REGION
e o ACCOUNT-NUMBER
.
Fazendo o deploy da minha stack CDK
Após configurar corretamente A CLI do CDK, precisamos fazer mais dois passos para, por fim, termos nossa stack rodando na AWS:
Primeiro de tudo, vamos "sintetizar" a nossa aplicação, para ficar de acordo com o esperado pelo CloudFormation, isto é, um serviço que é usado pela CDK, por debaixo dos panos, para lidar com toda a responsabilidade de deployment, etc.
Para sintetizarmos, precisamos executar esse comando:
cdk synth
Isso vai fazer com que toda a sua aplicação converta para um formato YML amigável que será lido pelo AWS CloudFormation.
Depois de sintetizado, basta fazer o deploy da nossa stack, para isso execute o comando:
cdk deploy
Com isso, você conseguiu deployar a sua aplicação com sucesso! É possível acessar os recursos como:
- API Gateway
- Lambda
E ver que tudo foi deployado corretamente.
Referências
Como usar?
Para usar, precisamos ter três pontos configurados corretamente:
- API Gateway (você já configurou no ponto anterior);
- O webhook;
Configurando o webhook
Para criarmos o webhook, acesse a documentação
para criar o webhook dentro da nossa plataforma e clique no botão: Novo webhook
.
Você irá cair neste formulário:
Preenchendo ele, você seguirá a seguinte ordem:
Nome
, insira o nome que preferir para os webhooks.Evento
, neste caso, é o evento que esperamos acontecer para disparar o webhook, você selecionará o evento de: Transação Pix Recebida.Url
, aqui, coloque a URL do API Gateway que vai servir como gatilho (trigger) para a sua função Lambda.
Depois de preencher esses três campos, clique em Salvar
. Parabéns, você criou seu
novo webhook!
Para mais informações a respeito de como configurar seu webhook, temos outras documentações a respeito: