🎉 Bem-vindo! Sinfonia é uma plataforma completa de orquestração de robôs, solicite já seu acesso.

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.

AWS Triggers

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.

AWS Triggers

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.

AWS Triggers

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.

Última modificação em