Cloud
Esta tela permite configurar um gatilho de nuvem baseado no serviço Amazon Simple Queue Service (SQS), integrando bots automatizados com filas AWS para execução de tarefas.
Existem 2 tipos de gatilhos AWS:
- SQS: Monitora uma fila SQS específica e dispara o bot quando uma nova mensagem é recebida.
- S3: Monitora um bucket S3 para eventos como upload de arquivos e dispara o bot em resposta a esses eventos.
Note
Para utilizar esses gatilhos, é necessário ter uma conta AWS com permissões adequadas para acessar os serviços SQS e S3. Além disso, as credenciais AWS (Access Key e Secret Key) devem ser configuradas como variáveis de ambiente para realizar a seleção durante o processo de configuração dos gatilhos.
SQS
Segue abaixo a descrição dos campos necessários para configurar um gatilho do tipo SQS.
Campos de Configuração
URL da Fila
- Formato esperado:
https://sqs.<queue_region>.amazonaws.com/account_id/queue_name
- Descrição: Endereço completo da fila SQS que será monitorada para disparar o gatilho.
AWS Access Key
- Descrição: Chave de acesso AWS com permissões para acessar a fila SQS.
- Exemplo:
AWS_ACCESS_KEY
- Importante: Esta chave deve ser previamente configurada como uma variável de ambiente na seção de variáveis do sistema.
AWS Secret Key
- Descrição: Chave secreta AWS correspondente à chave de acesso.
- Exemplo:
AWS_SECRET_KEY
- Importante: Esta chave deve ser previamente configurada como uma variável de ambiente na seção de variáveis do sistema.
Bot
- Valor padrão: Primeiro da lista de bots disponíveis
- Descrição: Bot que será executado quando o gatilho for disparado.
- Importante: O bot deve estar previamente criado e disponível na plataforma para seleção.
Versão
- Valor esperado:
X.Y.Z
(exemplo:1.0.0
) - Descrição: Versão específica do bot a ser utilizada.
- Importante: Existe a opção de selecionar a versão
release
do bot, que sempre utilizará a versão mais recente disponível.
Label
- Descrição: Identificador opcional para o gatilho. Pode ser usado para organização ou filtragem.
Agente
- Valor atual: Selecione um agente da lista
- Descrição: Define o agente responsável pela execução do bot.
- Importante: O agente deve estar ativo e conectado para realizar seleção durante o agendamento. Possibilidade de definir múltiplos agentes para o mesmo agendamento, evitando gargalos de execução.
Parâmetros (JSON)
- Descrição: Permite informar parâmetros adicionais para o bot, em formato JSON.
{
"arg1": "1366",
"arg2": "768"
}
Descrição
- Descrição: Campo para fornecer uma descrição detalhada do gatilho, facilitando a identificação e o entendimento de sua finalidade.
Permissões
Para que o gatilho funcione corretamente, a fila SQS deve ter uma política de permissões que permita que o serviço da plataforma acesse e leia mensagens. A política deve incluir a seguinte declaração:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SQSSpecificQueue",
"Effect": "Allow",
"Action": [
"sqs:CreateQueue",
"sqs:DeleteQueue",
"sqs:TagQueue",
"sqs:ListQueues",
"sqs:SetQueueAttributes",
"sqs:ReceiveMessage",
"sqs:DeleteMessage"
],
"Resource": [
"arn:aws:sqs:${Region}:${Account}:${QueueName}"
]
}
]
}
Note
Substitua ${Region}
, ${Account}
e ${QueueName}
pelos valores reais da fila que você deseja monitorar.
Caso queira monitorar múltiplas filas, utilize "Resource": ["*"]
, mas esteja ciente dos riscos de segurança associados.
S3
Segue abaixo a descrição dos campos necessários para configurar um gatilho do tipo S3.
Campos de Configuração
Nome do Bucket
- Descrição: Nome exato do bucket S3 que será monitorado para eventos.
AWS Region
- Descrição: Região AWS onde o bucket está localizado (ex:
us-east-1
,sa-east-1
).
Filtrar objetos por prefixo
- Descrição: Permite acionar o gatilho apenas para objetos cujo nome comece com o prefixo especificado.
Filtrar objetos por sufixo
- Descrição: Permite acionar o gatilho apenas para objetos cujo nome termine com o sufixo especificado (ex:
.csv
,.jpg
).
AWS Access Key
- Descrição: Chave de acesso AWS com permissões para acessar a fila SQS.
- Exemplo:
AWS_ACCESS_KEY
- Importante: Esta chave deve ser previamente configurada como uma variável de ambiente na seção de variáveis do sistema.
AWS Secret Key
- Descrição: Chave secreta AWS correspondente à chave de acesso.
- Exemplo:
AWS_SECRET_KEY
- Importante: Esta chave deve ser previamente configurada como uma variável de ambiente na seção de variáveis do sistema.
Bot
- Valor padrão: Primeiro da lista de bots disponíveis
- Descrição: Bot que será executado quando o gatilho for disparado.
Versão
- Valor esperado:
X.Y.Z
(exemplo:1.0.0
) - Descrição: Versão específica do bot a ser utilizada.
Label
- Descrição: Identificador opcional para o gatilho. Pode ser usado para organização ou filtragem.
Agente
- Valor atual: Selecione um agente da lista
- Descrição: Define o agente responsável pela execução do bot.
Parâmetros (JSON)
- Descrição: Permite informar parâmetros adicionais para o bot, em formato JSON.
{
"arg1": "1366",
"arg2": "768"
}
Descrição
- Descrição: Campo para fornecer uma descrição detalhada do gatilho, facilitando a identificação e o entendimento de sua finalidade.
Permissões
Para que o gatilho funcione corretamente, o bucket S3 deve ter uma política de permissões que permita que o serviço da plataforma acesse os eventos do bucket. A política deve incluir a seguinte declaração:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3BucketLevel",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketPolicy",
"s3:GetBucketNotification",
"s3:PutBucketNotification"
],
"Resource": [
"arn:aws:s3:::${BucketName}/${KeyName}"
]
},
{
"Sid": "S3ObjectLevel",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectVersion",
"s3:PutObjectAcl",
"s3:PutObjectTagging"
],
"Resource": [
"arn:aws:s3:::${BucketName}/${KeyName}"
]
}
]
}
Note
Substitua ${BucketName}
e ${KeyName}
pelos valores reais do bucket e prefixo/sufixo que você deseja monitorar.
Política IAM Completa
Crie um usuário IAM com a política abaixo para permitir que o gatilho funcione corretamente com ambos os serviços S3 e SQS.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3BucketLevel",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketPolicy",
"s3:GetBucketNotification",
"s3:PutBucketNotification"
],
"Resource": [
"arn:aws:s3:::${BucketName}/${KeyName}"
]
},
{
"Sid": "S3ObjectLevel",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectVersion",
"s3:PutObjectAcl",
"s3:PutObjectTagging"
],
"Resource": [
"arn:aws:s3:::${BucketName}/${KeyName}"
]
},
{
"Sid": "SQSSpecificQueue",
"Effect": "Allow",
"Action": [
"sqs:CreateQueue",
"sqs:DeleteQueue",
"sqs:TagQueue",
"sqs:ListQueues",
"sqs:SetQueueAttributes",
"sqs:ReceiveMessage",
"sqs:DeleteMessage"
],
"Resource": [
"*"
]
}
]
}
Note
Substitua ${BucketName}
e ${KeyName}
pelos valores reais do bucket e prefixo/sufixo que você deseja monitorar.