> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Uma extensão da função de tabela s3, que permite processar arquivos do Amazon S3 e do Google Cloud Storage em paralelo com muitos nós em um cluster especificado.

# s3Cluster

Esta é uma extensão da função de tabela [s3](/pt-BR/reference/functions/table-functions/s3).

Permite processar arquivos do [Amazon S3](https://aws.amazon.com/s3/) e do Google Cloud Storage [Google Cloud Storage](https://cloud.google.com/storage/) em paralelo usando muitos nós em um cluster especificado. No nó iniciador, cria uma conexão com todos os nós do cluster, expande os asteriscos no caminho do arquivo S3 e distribui cada arquivo dinamicamente. No nó worker, consulta o iniciador sobre a próxima tarefa a ser processada e a processa. Esse processo se repete até que todas as tarefas sejam concluídas.

<div id="syntax">
  ## Sintaxe
</div>

```sql theme={null}
s3Cluster(cluster_name, url[, NOSIGN | access_key_id, secret_access_key,[session_token]][, format][, structure][, compression_method][, headers][, extra_credentials])
s3Cluster(cluster_name, named_collection[, option=value [,..]])
```

<div id="arguments">
  ## Argumentos
</div>

| Argumento                               | Descrição                                                                                                                                                                                                                                                                                                                                |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cluster_name`                          | Nome de um cluster usado para criar um conjunto de endereços e parâmetros de conexão para servidores remotos e locais.                                                                                                                                                                                                                   |
| `url`                                   | caminho para um arquivo ou um conjunto de arquivos. Suporta os seguintes curingas no modo somente leitura: `*`, `**`, `?`, `{'abc','def'}` e `{N..M}`, em que `N`, `M` — números, `abc`, `def` — strings. Para mais informações, consulte [Wildcards In Path](/pt-BR/reference/engines/table-engines/integrations/s3#wildcards-in-path). |
| `NOSIGN`                                | Se esta palavra-chave for fornecida no lugar das credenciais, nenhuma das requisições será assinada.                                                                                                                                                                                                                                     |
| `access_key_id` and `secret_access_key` | Chaves que especificam as credenciais a serem usadas com o endpoint informado. Opcional.                                                                                                                                                                                                                                                 |
| `session_token`                         | Token de sessão a ser usado com as chaves informadas. Opcional ao informar chaves.                                                                                                                                                                                                                                                       |
| `format`                                | O [formato](/pt-BR/reference/formats) do arquivo.                                                                                                                                                                                                                                                                                        |
| `structure`                             | Estrutura da tabela. Formato `'column1_name column1_type, column2_name column2_type, ...'`.                                                                                                                                                                                                                                              |
| `compression_method`                    | O parâmetro é opcional. Valores suportados: `none`, `gzip` ou `gz`, `brotli` ou `br`, `xz` ou `LZMA`, `zstd` ou `zst`. Por padrão, o método de compressão será detectado automaticamente pela extensão do arquivo.                                                                                                                       |
| `headers`                               | O parâmetro é opcional. Permite enviar headers na requisição ao S3. Informe no formato `headers(key=value)`, por exemplo `headers('x-amz-request-payer' = 'requester')`. Veja [aqui](/pt-BR/reference/functions/table-functions/s3#accessing-requester-pays-buckets) um exemplo de uso.                                                  |
| `extra_credentials`                     | Opcional. `roleARN` pode ser passado por meio deste parâmetro. Veja [aqui](/pt-BR/products/cloud/guides/data-sources/accessing-s3-data-securely#access-your-s3-bucket-with-the-clickhouseaccess-role) um exemplo.                                                                                                                        |

Os argumentos também podem ser passados usando [coleções nomeadas](/pt-BR/concepts/features/configuration/server-config/named-collections). Nesse caso, `url`, `access_key_id`, `secret_access_key`, `format`, `structure`, `compression_method` funcionam da mesma forma, e alguns parâmetros extras são suportados:

| Argumento                     | Descrição                                                                                                                                                                                                                                 |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filename`                    | acrescentado à url, se especificado.                                                                                                                                                                                                      |
| `use_environment_credentials` | habilitado por padrão, permite passar parâmetros extras usando as variáveis de ambiente `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`, `AWS_CONTAINER_CREDENTIALS_FULL_URI`, `AWS_CONTAINER_AUTHORIZATION_TOKEN`, `AWS_EC2_METADATA_DISABLED`. |
| `no_sign_request`             | desativado por padrão.                                                                                                                                                                                                                    |
| `expiration_window_seconds`   | o valor padrão é 120.                                                                                                                                                                                                                     |

<div id="returned_value">
  ## Valor retornado
</div>

Uma tabela com a estrutura especificada para leitura ou gravação de dados no arquivo especificado.

<div id="examples">
  ## Exemplos
</div>

Selecione os dados de todos os arquivos nas pastas `/root/data/clickhouse` e `/root/data/database/`, usando todos os nós do cluster `cluster_simple`:

```sql theme={null}
SELECT * FROM s3Cluster(
    'cluster_simple',
    'http://minio1:9001/root/data/{clickhouse,database}/*',
    'minio',
    'ClickHouse_Minio_P@ssw0rd',
    'CSV',
    'name String, value UInt32, polygon Array(Array(Tuple(Float64, Float64)))'
) ORDER BY (name, value, polygon);
```

Conte o número total de linhas em todos os arquivos no cluster `cluster_simple`:

<Tip>
  Se a listagem de arquivos contiver intervalos numéricos com zeros à esquerda, use a construção com chaves para cada dígito separadamente ou use `?`.
</Tip>

Para casos de uso em produção, recomenda-se usar [coleções nomeadas](/pt-BR/concepts/features/configuration/server-config/named-collections). Veja o exemplo:

```sql theme={null}

CREATE NAMED COLLECTION creds AS
        access_key_id = 'minio',
        secret_access_key = 'ClickHouse_Minio_P@ssw0rd';
SELECT count(*) FROM s3Cluster(
    'cluster_simple', creds, url='https://s3-object-url.csv',
    format='CSV', structure='name String, value UInt32, polygon Array(Array(Tuple(Float64, Float64)))'
)
```

<div id="accessing-private-and-public-buckets">
  ## Acessando buckets privados e públicos
</div>

Os usuários podem usar as mesmas abordagens documentadas [aqui](/pt-BR/reference/functions/table-functions/s3#accessing-public-buckets) para a função de tabela s3.

<div id="optimizing-performance">
  ## Como otimizar o desempenho
</div>

Para saber mais sobre como otimizar o desempenho da função de tabela s3, consulte [nosso guia detalhado](/pt-BR/integrations/connectors/data-ingestion/AWS/performance).

<div id="related">
  ## Relacionado
</div>

* [motor S3](/pt-BR/reference/engines/table-engines/integrations/s3)
* [função de tabela s3](/pt-BR/reference/functions/table-functions/s3)
