> For the complete documentation index, see [llms.txt](https://docs.digibee.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/aws/sqs-aws.md).

# SQS (AWS)

Saiba mais sobre o conector SQS (AWS) e como utilizá-lo na Digibee Integration Platform.

O conector **SQS (AWS)** permite que os usuários enviem mensagens para filas padrão do AWS SQS e para filas FIFO do AWS SQS.

## **Parâmetros**

A tabela abaixo lista todos os parâmetros de configuração do conector. Os parâmetros que suportam [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados com ✅ na coluna **Suporta DB**.

{% tabs %}
{% tab title="General" %}

<table><thead><tr><th width="112">Parâmetro</th><th width="231.19989013671875">Descrição</th><th width="83.2000732421875">Tipo</th><th width="80.800048828125">Suporta DB</th><th width="100">Valor padrão</th><th width="124.800048828125">Visível quando</th></tr></thead><tbody><tr><td><strong>Alias</strong></td><td>Um nome para a saída deste conector, para que você possa referenciá-la posteriormente no fluxo com <a href="/documentation/connectors-and-triggers/pt-br/double-braces/how-to-reference-data-using-double-braces.md#referenciando-etapas-anteriores-usando-o-previous-steps-access">Double Braces</a>.</td><td>String</td><td>❌</td><td><code>aws-sqs-1</code></td><td>—</td></tr><tr><td><strong>Account Type</strong></td><td>O tipo de conta usada pelo conector para autenticação. Opções: <strong>Basic</strong> e <strong>AWS V4</strong>.</td><td>Select</td><td>❌</td><td><code>Basic</code></td><td>—</td></tr><tr><td><strong>Use Dynamic Account</strong></td><td>Se habilitado, o conector resolve a conta em tempo de execução. Se desabilitado, ele usa a conta configurada estaticamente abaixo.</td><td>Boolean</td><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Account Name</strong></td><td>Nome da conta definida no conector <a href="/documentation/connectors-and-triggers/pt-br/connectors/tools/store-account.md"><strong>Store Account</strong></a>.</td><td>String</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>N/A</td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account</strong></td><td>A conta <a href="/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md#basic">Basic</a> usada para autenticar no serviço AWS Cloud.</td><td>Select</td><td>❌</td><td>N/A</td><td><strong>Account Type</strong> é <strong>Basic</strong></td></tr><tr><td><strong>AWS V4 Account</strong></td><td>A conta <a href="/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md#aws-v4">AWS V4</a> usada para autenticar requisições aos serviços AWS com Signature Version 4.</td><td>Select</td><td>❌</td><td>N/A</td><td><strong>Account Type</strong> é <strong>AWS V4</strong></td></tr><tr><td><strong>Use Assume Role</strong></td><td>Quando habilitado, o conector usa uma conta <a href="/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md#aws-role">AWS Role</a> para assumir temporariamente as permissões da Account.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Account Type</strong> é <strong>AWS V4</strong></td></tr><tr><td><strong>AWS Role Account</strong></td><td>A conta AWS Role cujas permissões são temporariamente assumidas pela conta por meio da operação Assume Role, selecionada entre as <a href="/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md#aws-role">contas</a> configuradas na plataforma.</td><td>Select</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está desabilitado e <strong>Use Assume Role</strong> está habilitado</td></tr><tr><td><strong>AWS Role Account Name</strong></td><td>O nome da conta AWS Role cujas permissões são temporariamente assumidas pela conta por meio da operação Assume Role, conforme definido no conector <a href="/documentation/connectors-and-triggers/pt-br/connectors/tools/store-account.md"><strong>Store Account</strong></a>.</td><td>String</td><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>N/A</td><td><strong>Use Dynamic Account</strong> está habilitado e <strong>Use Assume Role</strong> está habilitado</td></tr><tr><td><strong>Message</strong></td><td>O corpo da mensagem a ser enviada.</td><td>String</td><td>❌</td><td><code>{{ message.$ }}</code></td><td>—</td></tr><tr><td><strong>Connection String</strong></td><td>A URL da fila SQS de destino na AWS.</td><td>String</td><td>✅</td><td><code>https://sqs.sa-east-1.amazonaws.com/838874755216/digibee-test</code></td><td>—</td></tr><tr><td><strong>Region</strong></td><td>A região da AWS onde a fila está registrada.</td><td>String</td><td>❌</td><td><code>South America (Sao Paulo)</code></td><td>—</td></tr><tr><td><strong>Queue Type</strong></td><td>O tipo de fila que recebe a mensagem: <strong>Standard</strong> ou <strong>FIFO</strong>. Se <strong>FIFO</strong> for selecionado, o parâmetro <strong>Message Group ID</strong> se torna obrigatório.</td><td>String</td><td>❌</td><td><code>Standard</code></td><td>—</td></tr><tr><td><strong>Message Group ID</strong></td><td>Para filas FIFO, o ID do grupo de mensagens ao qual esta mensagem pertence.</td><td>String</td><td>❌</td><td><code>undefined</code></td><td><strong>Queue Type</strong> é <strong>FIFO</strong></td></tr><tr><td><strong>Fail on Error</strong></td><td>Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Se desabilitado, a execução continua, mas a propriedade <code>"success"</code> é definida como <code>false</code>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr></tbody></table>

{% hint style="info" %}
Role ARN, Session Name e External ID não são configurados no conector. Eles são definidos quando você cria a conta **AWS Role** selecionada no parâmetro **AWS Role Account**.
{% endhint %}
{% endtab %}

{% tab title="Documentation" %}

<table><thead><tr><th width="111.800048828125">Parâmetro</th><th width="230.800048828125">Descrição</th><th width="100">Tipo de dado</th><th width="109.5999755859375">Suporta DB</th><th width="150.1905517578125">Valor padrão</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td>Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes.</td><td>String</td><td>❌</td><td>N/A</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## **Autenticação com Assume Role**

O conector **SQS (AWS)** suporta Assume Role, um modelo de acesso entre contas que permite ao conector usar credenciais temporárias e de curta duração, em vez de credenciais estáticas de longo prazo.

### **Quando usar Assume Role**

Use Assume Role quando o conector precisar acessar uma fila SQS em uma conta AWS diferente da usada para autenticação ou quando sua política de segurança exigir credenciais temporárias em vez de chaves de acesso de longa duração. Credenciais temporárias expiram automaticamente, o que reduz o risco de vazamento de credenciais.

### **Assume Role vs. Basic vs. AWS V4**

| Tipo de conta            | Credenciais                                              | Caso de uso típico                                                        |
| ------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------------- |
| **Basic**                | Chave de acesso e chave secreta estáticas da AWS         | Configurações simples sem requisitos de acesso entre contas               |
| **AWS V4**               | Credenciais estáticas, assinadas com Signature Version 4 | Acesso direto a serviços AWS na mesma conta                               |
| **AWS V4 + Assume Role** | Credenciais temporárias obtidas por meio do AWS STS      | Acesso entre contas, ou ambientes que exigem credenciais de curta duração |

Assume Role não é um tipo de conta independente. É uma camada adicional sobre uma conta **AWS V4**: a conta AWS V4 se autentica primeiro e, em seguida, assume temporariamente as permissões de uma conta **AWS Role**.

### **Pré-requisitos**

Antes de habilitar o Assume Role no conector, verifique se:

* Você tem uma conta **AWS V4** configurada na Digibee.
* Você tem uma conta **AWS Role** configurada na Digibee, com o Role ARN, o Session Name e, opcionalmente, o External ID da role que deseja assumir.
* A role de destino na AWS possui uma trust policy que permite que a conta AWS V4 da Digibee a assuma. Veja IAM trust policy abaixo.

{% hint style="info" %}
Apenas o tipo de conta **AWS V4** pode usar Assume Role. Se **Account Type** estiver definido como **Basic**, o parâmetro **Use Assume Role** não fica disponível.
{% endhint %}

### **Exemplo de configuração**

O exemplo abaixo mostra um conector configurado para usar Assume Role.

* **Account Type**: AWS V4
* **Account**: my-aws-v4-account
* **Use Assume Role**: enabled
* **AWS Role Account**: my-aws-role-account
* **Region**: US East (North Virginia)
* **Connection String**: <https://sqs.us-east-1.amazonaws.com/123456789012/my-queue>

A conta AWS V4 e a conta AWS Role são referenciadas pelas contas configuradas na Digibee, não pelas credenciais brutas ou pelo ARN.

### **IAM trust policy necessária no lado da AWS**

Para permitir que a execution role da Digibee assuma a role de destino, configure a seguinte trust policy na role da sua conta AWS:

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<ACCOUNT_ID_AWS>:role/digibee-execution-role"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "<YOUR_EXTERNAL_ID>"
        }
      }
    }
  ]
}
```

Substitua `<ACCOUNT_ID_AWS>` pelo ID da sua conta AWS e `<YOUR_EXTERNAL_ID>` pelo External ID configurado na sua AWS role, caso esteja utilizando um.

### **Permissões IAM necessárias na role assumida**

A role que você assume deve conceder, no mínimo, as seguintes permissões para que o conector funcione:

* `sqs:SendMessage`
* `sqs:ReceiveMessage`
* `sqs:DeleteMessage`
* `sqs:GetQueueAttributes`

### **Solução de problemas**

| Erro                                                        | Causa provável                                                                           | Resolução                                                                                                                      |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `AccessDenied` em `sts:AssumeRole`                          | A trust policy na role de destino não permite que a execution role da Digibee a assuma.  | Verifique a trust policy na role na AWS e confirme se os valores de `Principal` e `Condition` correspondem à sua configuração. |
| `InvalidClientTokenId`                                      | As credenciais da conta AWS V4 são inválidas ou expiraram.                               | Verifique as credenciais configuradas na conta AWS V4.                                                                         |
| `ExpiredToken`                                              | O token de sessão temporário expirou antes da conclusão da requisição.                   | Verifique a duração da sessão configurada para a role assumida na AWS.                                                         |
| Assume Role falha mesmo com ARN e seleção de conta corretos | O External ID configurado na conta AWS Role não corresponde ao definido na trust policy. | Confirme se o External ID corresponde em ambos os lados.                                                                       |

## **Fluxo de mensagens**

{% hint style="info" %}
Para detalhes sobre como a Digibee Integration Platform processa o fluxo de mensagens, veja [Processamento de mensagens](/documentation/developer-guide/pt-br/development-cycle/build-overview/pipelines/messages-processing.md).
{% endhint %}

### **Fila padrão do AWS SQS (sem erros)**

#### **Payload**

```json
{
    "queueTest": "MyTestQueue"
}
```

#### **Input**

```json
{
    "url": "https://sqs.sa-east-1.amazonaws.com/381492217694/{{message.queueTest}}",
    "typeQueue": "STANDARD",
    "messageBody": "{\"test\": \"Test encryption\"}",
    "region": "sa-east-1",
    "failOnError": false
}
```

#### **Output**

```json
{
    "messageId": "c959b1da-6650-46c2-8baf-62302789dd61",
    "messageBodyMD5": "c35f05f412ea94ef45bf103ba96b7b0e",
    "sequenceNumber": null,
    "success": true,
    "requestId": "6c950c3a-d081-5685-893b-55cf8c1b51e0"
}
```

### **Fila FIFO do AWS SQS (sem erros)**

#### **Input**

```json
{
    "url": "https://sqs.sa-east-1.amazonaws.com/123456789012/digibee-test.fifo",
    "typeQueue": "FIFO",
    "messageGroupId": "mygroup",
    "messageBody": "{\"test\": \"Test encryption\"}",
    "region": "sa-east-1",
    "failOnError": false
}
```

#### **Output**

```json
{
    "messageId": "c959b1da-6650-46c2-8baf-62302789dd61",
    "messageBodyMD5": "c35f05f412ea94ef45bf103ba96b7b0e",
    "sequenceNumber": "18865425420279279616",
    "success": true,
    "requestId": "6c950c3a-d081-5685-893b-55cf8c1b51e0"
}
```

### **Fila FIFO do AWS SQS (Message Group ID ausente)**

#### **Input**

```json
{
    "url": "https://sqs.sa-east-1.amazonaws.com/123456789012/digibee-test.fifo",
    "typeQueue": "FIFO",
    "messageBody": "{\"test\": \"Test encryption\"}",
    "region": "sa-east-1",
    "failOnError": false
}
```

#### **Output**

```json
{
    "success": false,
    "message": "There is an invalid pipeline configuration",
    "error": "com.digibee.pipelineengine.exception.PipelineEngineConfigurationException: Configuration parameter 'messageGroupId' cannot be null for connector sqs-connector"
}
```

### **Fila AWS SQS (região inválida)**

#### **Input**

```json
{
    "url": "https://sqs.sa-east-1.amazonaws.com/123456789012/digibee-test",
    "typeQueue": "STANDARD",
    "messageBody": "{\"test\": \"Test encryption\"}",
    "region": "wrong-region",
    "failOnError": false
}
```

#### **Output**

```json
{
    "success": false,
    "message": "Something went wrong while trying to execute SQS CONNECTOR",
    "error": "com.amazonaws.services.sqs.model.AmazonSQSException: Credential should be scoped to a valid region, not 'wrong-region'. (Service: AmazonSQS; Status Code: 403; Error Code: SignatureDoesNotMatch; Request ID: bf47d091-2129-5320-a332-89647ef0d86b)"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/aws/sqs-aws.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
