> 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/s3-storage.md).

# S3 Storage

O **S3 Storage** se conecta ao AWS S3 e realiza as seguintes operações no armazenamento: List, Download, Upload, Delete e Move.

## **Parâmetros**

Configure o conector utilizando os parâmetros abaixo. Os campos que suportam [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados na coluna **Suporta DB**.

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

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="112">Parâmetro</th><th width="231">Descrição</th><th width="83">Tipo de dado</th><th width="81">Suporta DB</th><th width="100">Valor padrão</th><th width="128">Visível quando</th></tr></thead><tbody><tr><td><strong>Use Dynamic Account</strong></td><td>Se habilitado, o conector usa a conta de forma dinâmica via o conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>; caso contrário, usa a conta estática configurada em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Scoped</strong></td><td>Se habilitado, isola a conta armazenada de outros subprocessos. Não é suportado para contas usadas em headers ou body. Para saber mais, consulte a <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/FrKJOmsImCRBImMPMsU2">documentação de Dynamic Accounts</a>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account Name</strong></td><td>Nome da conta definida no conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account</strong></td><td>Conta usada pelo conector. Deve ser do tipo de conta AWS V4, configurada em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma. É necessário fornecer o client ID e a secret key do console da AWS.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está desabilitado</td></tr><tr><td><strong>Operation</strong></td><td>Define a operação a ser executada: <strong>List</strong>, <strong>Download</strong>, <strong>Upload</strong>, <strong>Delete</strong> ou <strong>Move</strong>.</td><td>String</td><td>❌</td><td><code>Upload</code></td><td>—</td></tr><tr><td><strong>Region</strong></td><td>Região da AWS onde o bucket S3 está localizado.</td><td>String</td><td>❌</td><td><code>South America (Sao Paulo)</code></td><td>—</td></tr><tr><td><strong>Bucket Name</strong></td><td>Nome do bucket S3.</td><td>String</td><td>✅</td><td><code>digibee-amazon-s3-connector-test</code></td><td>—</td></tr><tr><td><strong>Bucket Name - Move</strong></td><td>Nome do bucket de onde o arquivo será movido.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Operation</strong> é <strong>Move</strong></td></tr><tr><td><strong>File Name</strong></td><td>Nome ou caminho completo do arquivo local a ser usado na operação (ex.: <code>tmp/processed/file.txt</code>).</td><td>String</td><td>✅</td><td><code>file.csv</code></td><td><strong>Operation</strong> é <strong>Download</strong> ou <strong>Upload</strong></td></tr><tr><td><strong>Remote File Name</strong></td><td>Nome ou caminho completo do arquivo no S3 a ser usado na operação (ex.: <code>tmp/processed/file.txt</code>).</td><td>String</td><td>✅</td><td><code>test.csv</code></td><td><strong>Operation</strong> é <strong>Download</strong>, <strong>Upload</strong>, <strong>Delete</strong> ou <strong>Move</strong></td></tr><tr><td><strong>Remote File Name - Move</strong></td><td>Novo nome a ser atribuído ao arquivo remoto após ser movido.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Operation</strong> é <strong>Move</strong></td></tr><tr><td><strong>Remote Directory</strong></td><td>Diretório remoto no S3 a ser usado em uma operação de Download, Upload ou Delete.</td><td>String</td><td>❌</td><td><code>upload/</code></td><td>—</td></tr><tr><td><strong>Remote Directory - Move</strong></td><td>Nome do diretório remoto que contém o arquivo a ser movido.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Operation</strong> é <strong>Move</strong></td></tr><tr><td><strong>Page Size</strong></td><td>Número de itens a serem retornados por página. O valor padrão é 1000. Para recuperar mais itens do que o tamanho da página, use o <code>nextToken</code> retornado na resposta com o parâmetro <strong>Next Page Token</strong>.</td><td>Integer</td><td>❌</td><td><code>1000</code></td><td><strong>Operation</strong> é <strong>List</strong></td></tr><tr><td><strong>Next Page Token</strong></td><td>Token usado para solicitar a próxima página de resultados. A próxima página retorna o número de itens definido em <strong>Page Size</strong>.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Operation</strong> é <strong>List</strong></td></tr><tr><td><strong>Generate Download Link</strong></td><td>Se habilitado, gera um link público de download para o arquivo.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Operation</strong> é <strong>Upload</strong></td></tr><tr><td><strong>Expiration Timestamp (in ms)</strong></td><td>Tempo de expiração do link de download, em milissegundos. Informe o timestamp atual somado à duração desejada (ex.: timestamp atual + 600000 para um link de 10 minutos). Se não for informado, o link expira 15 minutos após o timestamp atual.</td><td>Number</td><td>❌</td><td>N/A</td><td><strong>Operation</strong> é <strong>Upload</strong> e <strong>Generate Download Link</strong> está habilitado</td></tr><tr><td><strong>Include user metadata on upload</strong></td><td>Se habilitado, anexa ao objeto no S3 os metadados configurados em <strong>Metadata</strong> ou <strong>Metadata file</strong>. Se desabilitado, o objeto é enviado sem metadados de usuário, mesmo que <strong>Metadata</strong> ou <strong>Metadata file</strong> estejam configurados.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Operation</strong> é <strong>Upload</strong></td></tr><tr><td><strong>Metadata (JSON)</strong></td><td>Objeto JSON contendo pares chave-valor personalizados a serem anexados ao objeto no S3. Quando configurado, o conector retorna os metadados na resposta do step. É ignorado quando <strong>Metadata file</strong> resolve para um caminho não vazio.</td><td>JSON Object</td><td>✅</td><td>N/A</td><td><strong>Operation</strong> é <strong>Upload</strong> e <strong>Include user metadata on upload</strong> está habilitado</td></tr><tr><td><strong>Metadata file path</strong></td><td>Caminho relativo para um arquivo JSON no diretório de trabalho do pipeline (ex.: <code>orders-report.csv.metadata.json</code>). Quando esse campo resolve para um caminho não vazio, o conector lê o conteúdo do arquivo e o utiliza como metadados do objeto, ignorando qualquer valor definido em <strong>Metadata</strong>. Se o campo estiver ausente, em branco ou resolver para um valor vazio, o conector utiliza o valor de <strong>Metadata</strong>.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Operation</strong> é <strong>Upload</strong> e <strong>Include user metadata on upload</strong> está habilitado</td></tr><tr><td><strong>Path-style access</strong></td><td>Se habilitado, usa o formato de URL path-style para acessar o S3. Útil ao se conectar a armazenamentos compatíveis com S3 que exigem acesso path-style, como um endpoint personalizado.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Fail on error</strong></td><td>Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Caso contrário, a execução prossegue e o resultado retorna <code>false</code> para a propriedade <code>"success"</code>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Custom Endpoint</strong></td><td>Se habilitado, permite o uso de uma URL de endpoint personalizada para o S3.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Endpoint URL</strong></td><td>URL do endpoint personalizado.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Custom Endpoint</strong> está habilitado</td></tr></tbody></table>

{% hint style="info" %}
A manipulação de arquivos dentro de um pipeline é realizada em uma área protegida. Todos os arquivos são acessíveis somente por meio de um diretório temporário, e cada chave de pipeline fornece acesso ao seu próprio conjunto de arquivos.
{% endhint %}
{% endtab %}

{% tab title="Documentation" %}

| Parâmetro         | Description                                                                                        | Tipo de dado | Suporta DB | Valor padrão |
| ----------------- | -------------------------------------------------------------------------------------------------- | ------------ | ---------- | ------------ |
| **Documentation** | Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes. | String       | ❌          | N/A          |

{% endtab %}
{% endtabs %}

## **Fluxo de mensagens**

### **Input**

O conector só requer uma mensagem de entrada se um campo estiver configurado com uma expressão Double Braces. Caso contrário, nenhuma entrada específica é esperada; basta configurar os campos para a operação selecionada.

### **Output**

O conector retorna um objeto JSON contendo o resultado da operação. Os campos retornados variam de acordo com a operação.

#### **List**

```json
{
  "success": true,
  "content": [
    {
      "bucketName": "digibee-amazon-s3-connector-test",
      "key": "list/test.csv",
      "size": 9,
      "lastModified": 1596139663000,
      "storageClass": "STANDARD",
      "owner": null,
      "etag": "59587d0fd956dee6905d423bfda2acaf"
    }
  ],
  "count": 1,
  "nextToken": "1kWwy…..."
}
```

**Campos de saída:**

* `success`: retorna `true` se a operação foi bem-sucedida, ou `false` se falhou.
* `content`: array contendo as informações do arquivo.
* `bucketName`: nome do bucket.
* `key`: caminho do diretório e nome do arquivo.
* `size`: tamanho do arquivo.
* `lastModified`: data da última modificação feita no arquivo.
* `storageClass`: classe de armazenamento configurada no S3.
* `owner`: proprietário do arquivo.
* `etag`: entity tag, um hash gerado pelo S3 para o arquivo.
* `count`: número de objetos retornados.
* `nextToken`: token usado para paginar os itens restantes. Retornado somente quando há mais objetos a serem listados.

#### **Download**

```json
{
  "success": true,
  "fileName": "test.file",
  "remoteDirectory": "pagination_folder/",
  "remoteFileName": "c4b88b6b-83bb-42b0-9de6-0371389db585.csv",
  "bucketName": "digibee-amazon-s3-connector-test"
}
```

**Campos de saída:**

* `success`: retorna `true` se a operação foi bem-sucedida, ou `false` se falhou.
* `fileName`: nome do arquivo baixado para o diretório do pipeline.
* `remoteDirectory`: nome do diretório remoto no S3.
* `remoteFileName`: nome do arquivo remoto no S3.
* `bucketName`: nome do bucket S3.

#### **Upload**

```json
{
  "success": true,
  "fileName": "test.file",
  "remoteDirectory": "pagination_folder/",
  "remoteFileName": "test.file",
  "urlGenerated": "https://digibee-amazon-s3-connector-test.s3.sa-east-1.amazonaws.com/pagination_folder/test.file?....",
  "bucketName": "digibee-amazon-s3-connector-test"
}
```

Quando **Metadata** ou **Metadata file** está configurado e **Include user metadata** está habilitado, a resposta também inclui os metadados anexados ao objeto:

```json
{
  "success": true,
  "fileName": "test.file",
  "remoteDirectory": "pagination_folder/",
  "remoteFileName": "test.file",
  "urlGenerated": "https://digibee-amazon-s3-connector-test.s3.sa-east-1.amazonaws.com/pagination_folder/test.file?....",
  "bucketName": "digibee-amazon-s3-connector-test",
  "metadata": {
    "source": "orders-pipeline",
    "environment": "production"
  }
}
```

**Campos de saída:**

* `success`: retorna `true` se a operação foi bem-sucedida, ou `false` se falhou.
* `fileName`: nome do arquivo local enviado a partir do diretório do pipeline.
* `remoteDirectory`: nome do diretório remoto no S3.
* `remoteFileName`: nome do arquivo remoto no S3.
* `bucketName`: nome do bucket S3.
* `urlGenerated`: link público de download do arquivo. Retornado somente quando **Generate Download Link** está habilitado.
* `metadata`: pares chave-valor anexados ao objeto como metadados de usuário. Retornado somente quando os metadados são aplicados.

#### **Move**

```json
{
  "success": true,
  "remoteDirectory": "pagination_folder/",
  "remoteFileName": "c4b88b6b-83bb-42b0-9de6-0371389db585.csv",
  "remoteFileNameMove": "abc.file",
  "remoteDirectoryMove": "list/",
  "bucketName": "digibee-amazon-s3-connector-test",
  "bucketNameMove": "digibee-amazon-s3-connector-test"
}
```

**Campos de saída:**

* `success`: retorna `true` se a operação foi bem-sucedida, ou `false` se falhou.
* `remoteDirectory`: nome do diretório remoto original no S3.
* `remoteFileName`: nome do arquivo remoto original no S3.
* `bucketName`: nome do bucket S3 original.
* `bucketNameMove`: nome do bucket de destino.
* `remoteDirectoryMove`: nome do diretório remoto de destino.
* `remoteFileNameMove`: novo nome atribuído ao arquivo após ser movido.

#### **Delete**

```json
{
  "success": true,
  "remoteDirectory": "list/",
  "remoteFileName": "abc.file",
  "bucketName": "digibee-amazon-s3-connector-test"
}
```

**Campos de saída:**

* `success`: retorna `true` se a operação foi bem-sucedida, ou `false` se falhou.
* `remoteDirectory`: nome do diretório remoto no S3.
* `remoteFileName`: nome do arquivo remoto excluído do S3.
* `bucketName`: nome do bucket S3.

#### **Error**

```json
{
  "success": false,
  "message": "Could no issue the operation: download in the AWS S3 Storage",
  "error": "com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; ...)"
}
```

**Campos de saída:**

* `success`: retorna `false` quando a operação falha.
* `message`: descrição do erro fornecida pelo conector.
* `error`: mensagem de erro retornada pelo servidor do S3.


---

# 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/s3-storage.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.
