---
title: AWS - S3
slug: aws-s3
description: Learn how to integrate Amazon S3 seamlessly with your applications and workflows using the S3 connector. This document provides step-by-step instructions for creating an S3 connection, configuring the flow, and understanding the necessary parameters. Disc
docTags: 
createdAt: 2023-06-15T21:25:01.000Z
---

## Objetivo/Resumo

Ao usar o conector S3, você pode integrar facilmente o Amazon S3 aos seus aplicativos, serviços ou fluxos de trabalho existentes, permitindo a manipulação de objetos armazenados na nuvem de forma flexível e escalável. Você pode realizar várias operações, como armazenamento de objetos, recuperação de objetos, listagem de objetos, exclusão de objetos, gerenciamento de buckets e transferência de dados.

## Criando um fluxo utilizando o conector S3

Para criar um fluxo utilizando um conector S3 é preciso criar uma conexão e configurar o fluxo.

### Criando conexão S3

OBS: [Clique aqui](docId:1pCVN0mJbFKUjHMhj86K-) e acesse nosso passo a passo para saber como criar uma conexão.

Estes são os seguintes parâmetros de configuração da conexão S3 que serão requisitados na hora da criação:

- **Nome**: parâmetro padrão em qualquer criação de uma conexão, te ajudará a identificar melhor sua conexão.
- **Descrição**: parâmetro padrão e opcional em qualquer criação de uma conexão, aqui você pode relatar detalhadamente para que fins servirá sua conexão.
- **ID de acesso**: ou "Access Key" campo requerido para acesso ao serviço AWS.
- **Chave Secreta**: ou "Secret Access Key" campo requerido para acesso ao serviço AWS.
- **Região**: zona/local onde seu serviço será executado.

### Configurando fluxo S3

Crie um fluxo e arraste o conector S3 para o canvas.

OBS: [Clique aqui](docId\:OcJTBFHi9Rerkr2d6OwIP) e acesse nosso passo a passo para saber como criar um fluxo.

Selecione o conector e na aba de `Parametrização` e preencha os seguintes parâmetros de configuração:

- **Recurso**: entidade para qual será realizada a ação. No momento o conector dispões três recursos sendo eles, File, Bucket e Folder;
- **Operação**: ação que será realizada para o recurso selecionado.
  - Operações disponiveis para recurso ***File***:
    - **Download**: usado para buscar um arquivo no bucket, necessário informar nome do bucket e o caminho do arquivo que será feito o download;
    - **Copy**: usado para copiar um arquivo de um bucket para o outro, necessário informar nome de origem e de destino do bucket, e também o caminho da origem e o caminho de destino do arquivo;
    - **Move:&#x20;**&#x55;sado para mover arquivos entre pastas, necessário informar nome do bucket, o caminho de origem do arquivo e o caminho de destino do arquivo.
    - **Upload**: usado para enviar um arquivo para o bucket, necessário informar nome do bucket, caminho para onde o arquivo será enviado e como será o envio do conteúdo que pode ser enviado utilizando [Template](docId\:TReaJH8tvdyh6uKYEAQZP) ou [De/para](docId\:VOQdaUkjjknbSWVRHbzQW). Permite também carregar arquivos de imagem e pdf em formato base64, basta ativar a flag "Enviar base64" no Corpo
    - **Delete**: usado para excluir um arquivo, necessário informar nome do bucket e caminho do arquivo;
  - Operações disponiveis para recurso ***Bucket***:
    - **Create**: usado para criar um bucket, necessário informar o nome do bucket que será criado;
    - **Delete**: usado para excluir um bucket, necessário informar o nome do bucket que será excluido;
  - Operações disponiveis para o recurso **Folder**:
    - **Create**: usado para criar uma pasta, necessário informar o nome do bucket e o nome da pasta;
    - **Delete**: usado para excluir uma pasta, necessário informar o nome do bucket e o nome da pasta;

*Nota: Estes campos podem ser preenchidos usando&#x20;*[Fluid Expression Language](docId:0VQVPw6saqz2z1jGp8FwC).

## Na prática

Neste tópico será demonstrado um tutorial de como criar um fluxo utilizando o conector S3. O fluxo terá 2 passos sendo eles random e upload.

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/v5BNQUF1dEuHuy0c1Wvlx_image.png)

### Passo 'random'

O passo random é um conector HTTP que fará um `GET` em uma api pública chamada `random` acessando o endpoint `/api/v2/users` que nos retornará dados de um usuário aleatório.
Assim ficou as configurações do nosso conector HTTP na aba `Parametrização`:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/w6jEUFgGdK9okhd84eQoz_image.png" size="50" width="424" height="688" position="center" showCaption="false"}

Já na aba `Propriedades` é informado apenas o nome do passo, pois o get nessa api não precisa de nenhum tipo de conexão:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/6ZEEruozuep7j7gzusyTc_image.png" size="50" width="417" height="566" position="center" showCaption="false"}

*Nota: Para obter detalhes sobre nosso conector HTTP clique em&#x20;*[saiba mais](docId:-IX6fj1xXMa6nvQnOl8Mx).

**Fluxo de mensagens**

Entrada:

:::BlockQuote
Neste caso não possui dados de entrada
:::

Saída:

```json
{
    "address": {
        "city": "East Leighannfort",
        "coordinates": {
            "lat": 3.448259196515579,
            "lng": 143.00972472900668
        },
        "country": "United States",
        "state": "Alabama",
        "street_address": "70782 Phillip Landing",
        "street_name": "Beahan Plaza",
        "zip_code": "67599"
    },
    "avatar": "https://robohash.org/estenimsunt.png?size=300x300\u0026set=set1",
    "credit_card": {
        "cc_number": "5179-6005-6766-4942"
    },
    "date_of_birth": "1994-12-26",
    "email": "shameka.lowe@email.com",
    "employment": {
        "key_skill": "Networking skills",
        "title": "Dynamic Retail Manager"
    },
    "first_name": "Shameka",
    "gender": "Bigender",
    "id": 3653,
    "last_name": "Lowe",
    "password": "A8GovZc6Oi",
    "phone_number": "+1-939 (939) 395-3399 x0096",
    "social_insurance_number": "324312263",
    "subscription": {
        "payment_method": "Visa checkout",
        "plan": "Student",
        "status": "Pending",
        "term": "Payment in advance"
    },
    "uid": "8d22e2c3-c4c0-4dbc-9349-6bc32c3c1cec",
    "username": "shameka.lowe"
}
```

### Passo 'upload'

O passo upload é usado um conector S3 que enviará um arquivo para o bucket ultilizando o [De/para](docId\:VOQdaUkjjknbSWVRHbzQW) para fazer a transformação dos dados recebidos no passo random , e assim criar o conteúdo do arquivo. Assim ficou as configurações do nosso conector S3 na aba `Parametrização`:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/vzgOHxu5RpURJNNgwWTJf_image.png" size="50" width="421" height="767" position="center" showCaption="false"}

`De/Para` usado para criar o objeto do conteúdo:

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/EG3M2n8wUBRCbgyaHnkUq_image.png)

Na aba `Propriedades` informamos o nome do passo, a conexão criada com as credenciais da AWS:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/Yob_bu7ebQhz83LYcb7FU_image.png" size="50" width="420" height="564" position="center" showCaption="false"}

**Fluxo de mensagens**

Entrada:

```json
{
    "Bucket": "teste-icones",
    "Path": "/poc-clara/teste.json"
}
```

Resultado do de/para do conteúdo:

```json
{
  "data_nascimento": "1994-12-26",
  "email": "shameka.lowe@email.com",
  "nome": "Shameka"
}
```

Saída:

```json
{
    "Bucket": "teste-icones",
    "Message": "success",
    "Path": "/poc-clara/teste.json"
}
```

### Resultado

Após disparar o fluxo podemos ver o resultado final nos logs que aparecerá no canvas, e clicando em detalhes teremos os dados da requisição e da resposta:

![](https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/UxigtvXEtuscXjZG7W5eK_image.png)

E se olharmos no bucket e no caminho usado no exemplo do passo 'upload' podemos vizualizar o arquivo 'teste.json' criado com o conteúdo gerado:

::Image[]{src="https://api.archbee.com/api/optimize/G1NTw6yAi4RDUYbsU8csp/syR8EUxI_BPadERWMu9oB_image.png" size="50" width="295" height="117" position="center" showCaption="false"}

