# SQS

O componente **SQS** permite o envio de mensagens para filas do serviço da AWS SQS, tanto do tipo *standard* como do tipo FIFO.

## Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por [expressões *Double Braces*](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/overview) estão marcados com `(DB)`.

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Account</strong></td><td>Para o componente se autenticar na <em>cloud</em> da AWS, é necessário usar uma conta tipo <em>Basic</em>. <a href="https://app.gitbook.com/s/cO0A6g1dOsu8BiHYqO67/platform-administration/settings/accounts#tipos-de-contas">Para saber mais sobre essas contas e outros tipos existentes, leia a doumentação</a>.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Message</strong></td><td>Corpo da mensagem que deseja enviar.</td><td>{{ message.$ }}</td><td><em>String</em></td></tr><tr><td><strong>Connection String</strong> <code>(DB)</code></td><td>URL de destino da fila SQS na AWS.</td><td><a href="https://sqs.sa-east-1.amazonaws.com/838874755216/digibee-test">https://sqs.sa-east-1.amazonaws.com/838874755216/digibee-test</a></td><td><em>String</em></td></tr><tr><td><strong>Region</strong></td><td>Região na qual a fila está registrada no serviço na AWS.</td><td><em>South America (Sao Paulo)</em></td><td><em>String</em></td></tr><tr><td><strong>Queue Type</strong></td><td>Tipo de fila que receberá a mensagem. Este pode ser do tipo <em>Standard</em> ou FIFO. Ao selecionar FIFO, outro parâmetro é necessário:</td><td><em>Standard</em></td><td><em>String</em></td></tr><tr><td><strong>Message Group ID</strong></td><td>Em filas do tipo FIFO, este é o ID do <em>message group</em> desta fila.</td><td>N/A</td><td><em>String</em></td></tr><tr><td><strong>Fail on Error</strong></td><td>Se a opção estiver habilitada, a execução do <em>pipeline</em> com erro será interrompida; do contrário, a execução do <em>pipeline</em> continua, mas o resultado vai mostrar um valor falso para a propriedade "<em>success</em>".</td><td><em>False</em></td><td>Booleano</td></tr></tbody></table>

## Fluxo de mensagens

### Fila AWS SQS Standard (envio sem erro)

#### Payload

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

#### Entrada

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

#### Saída

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

### Fila AWS SQS FIFO (envio sem erro)

#### Entrada

```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
}
```

#### Saída

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

### Fila AWS SQS FIFO (envio sem messageGroupId)

#### Entrada

```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
}
```

#### Saída

```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 (envio com região inválida)

#### Entrada

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

#### Saída

```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)"
}
```

[Leia nosso artigo sobre Processamento de mensagens](https://app.gitbook.com/s/cO0A6g1dOsu8BiHYqO67/development-cycle/build-overview/pipelines/messages-processing) para entender como a Digibee Integration Platform processa o fluxo de mensagens.
