Serviço AWS SQS
Credenciais de Integração
1. Credenciais Go e AWS
Para configurar a integração entre o serviço Go e a AWS SQS, primeiramente é necessário localizar as credenciais de usuário do Go e da AWS.
id_go_account:
É a id da conta de usuário do TOPTIC Go. Para saber mais, acesse: Credenciais Goid_aws_account:
É a id da conta de usuário da AWS.

Usuário IAM - AWS
1. Criar Política
Para criar um usuário, primeiramente é necessário criar uma política para este usuário. Acompanhe o passo a passo:
- No painel inicial do IAM, clique em "Políticas" e depois em "Criar política".

- Preencha os dados da política.

- Na aba Serviço, selecione "SQS".

- Em Ações, vá em "Nível de acesso", clique na aba "Leitura" e selecione: "GetQueueUrl" e "ReceiveMessage", e na aba "Escrita" selecione "DeleteMessage".

- Em Recursos, selecione "Específico" e clique em "Adicionar ARN".

Preencha os dados:
- Region: us-east-1
- Account: id_aws_account
- Queue name: go_guest_account_{id_go_account}_queue
Clique em "Adicionar".

- Clique em "Próximo: Tags".

- Clique em "Próximo: Revisar".

Em Revisar política, preencha o "Nome":
- go_guest_account_{nome_da(s)_org(s)}_policy
Clique em "Criar política":

2. Criar Usuário
- No Painel inicial do IAM, clique em "Usuários" e depois em "Adicionar usuários".

- Preencha o "Nome de usuário":
- sqs_accessus_go_account_{nome_da(s)_org(s)}
- Em "Selecionar o tipo de credencial da AWS", escolha:
- Chave de acesso: acesso programático
- Clique em "Próximo: Permissões".

- Em "Definir Permissões" clique em:
- Anexar políticas existentes de forma direta.
- Pesquise e selecione a política criada anteriormente:
- go_guest_account_{nome_da(s)_org(s)}_policy
- Clique em "Próximo: Tags".

- Clique em "Próximo: Revisar".

- Clique em "Criar Usuário".

- Será gerado um id da chave de acesso e uma chave de acesso secreta. Copie e salve estas chaves:
- Access Key ID
- Secret Access Key
Atenção:
O "Secret Access Key" só é gerado um única vez. Caso haja a perda desta chave, será necessário criar um novo usuário.
- No painel inicial do IAM, clique em "Usuários" e clique no usuário criado anteriormente:
- sqs_accessus_go_account_{nome_da(s)_org(s)}
- Copie e salve o ARN:
- arn:aws:iam::{id_aws_account}:user/sqs_go_account_{nome_da(s)_org(s)}
Fila (Queue)
Criar Fila
Para criar uma fila, pesquise por "SQS" ou "Simple Queue Service" na AWS.
- Clique em "Criar fila".

- Preencha o "Nome":
- go_guest_account_{id_go_account}_queue

- Role a página até "Política de acesso".

- Defina quem pode enviar as mensagens para a fila marcando a opção:
- Somente as contas da AWS, os usuários e as funções do IAM especificados.
- Insira o ARN do usuário criado no IAM:
- arn:aws:iam::{id_aws_account}:user/sqs_accessus_go_account_{nome_da(s)_org(s)}

- Defina quem pode receber as mensagens para a fila marcando a opção:
- Somente as contas da AWS, os usuários e as funções do IAM especificados.
- Insira o ARN do usuário criado no IAM:
- arn:aws:iam::{id_aws_account}:user/sqs_accessus_go_account_{nome_da(s)_org(s)}

- Role a página até "Fila de mensagens mortas".
- Em "Defina essa fila para receber mensagens não entregáveis", marque a opção:
- Habilitada
- Em "Escolher fila", selecione:
- arn:aws:sqs:us-east-1:{id_aws_account}:go_guest_account_DEAD_LETTER_queue
- Em "Número máximo de recebimentos", insira:
- 1000
- Clique em "Criar fila" para finalizar.

Configuração TOPTIC Accessus
Configurar Dados Acesso Fila AWS SQS
- Acesse a aplicação, navegue até toptic-deploy, edite o arquivo .env e inclua os comandos abaixo:
#################
# AWS SQS #
#################
AWS_SQS_ACTIVE=true
AWS_SQS_ACCESS_KEY={Access Key ID}
AWS_SQS_SECRET_KEY={Secret Access Key}
AWS_SQS_REGION=us-east-1
- Salve e feche o editor.
Nota
Se chegou até aqui, a integração Accessus - Go via AWS SQS foi concluída com sucesso! 👍