> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# настройки сеанса s3_*

> Настройки сеанса ClickHouse в автоматически созданной группе s3_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются из [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="s3_check_objects_after_upload">
  ## s3\_check\_objects\_after\_upload
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Проверять каждый объект, загруженный в S3, с помощью запроса head, чтобы убедиться, что загрузка выполнена успешно

<div id="s3_connect_timeout_ms">
  ## s3\_connect\_timeout\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1000"},{"label": "Добавлена новая отдельная настройка тайм-аута подключения к S3"}]}]} />

Тайм-аут подключения к хосту, используемому S3-дисками.

<div id="s3_create_new_file_on_insert">
  ## s3\_create\_new\_file\_on\_insert
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Включает или отключает создание нового файла при каждой вставке в таблицы с движком S3. Если параметр включен, при каждой вставке будет создаваться новый объект S3 с ключом по следующему шаблону:

исходно: `data.Parquet.gz` -> `data.1.Parquet.gz` -> `data.2.Parquet.gz` и т. д.

Возможные значения:

* 0 — запрос `INSERT` создает новый файл или завершается ошибкой, если файл уже существует и параметр s3\_truncate\_on\_insert не задан.
* 1 — запрос `INSERT` создает новый файл при каждой вставке, используя суффикс (начиная со второго файла), если параметр s3\_truncate\_on\_insert не задан.

Подробнее см. [здесь](/docs/ru/integrations/connectors/data-ingestion/AWS/integrating-s3-with-clickhouse#inserting-data).

<div id="s3_disable_checksum">
  ## s3\_disable\_checksum
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Не вычислять контрольную сумму при отправке файла в S3. Это ускоряет операции записи, так как позволяет избежать лишних проходов по файлу при его обработке. В большинстве случаев это безопасно, поскольку данные таблиц семейства MergeTree в любом случае защищены контрольными суммами в ClickHouse, а при доступе к S3 по HTTPS уровень TLS уже обеспечивает целостность данных при передаче по сети. При этом дополнительные контрольные суммы в S3 обеспечивают эшелонированную защиту.

<div id="s3_ignore_file_doesnt_exist">
  ## s3\_ignore\_file\_doesnt\_exist
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "0"},{"label": "Позволяет возвращать 0 строк, если запрошенные файлы не существуют, вместо того чтобы генерировать исключение в движке таблицы S3"}]}]} />

Игнорирует отсутствие файла при чтении определённых ключей, если файл не существует.

Возможные значения:

* 1 — `SELECT` возвращает пустой результат.
* 0 — `SELECT` генерирует исключение.

<div id="s3_list_object_keys_size">
  ## s3\_list\_object\_keys\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

Максимальное количество файлов, которое запрос ListObject может вернуть в одном батче

<div id="s3_min_upload_part_size">
  ## s3\_min\_upload\_part\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="16777216" />

Минимальный размер части, загружаемой при multipart-загрузке в S3.

<div id="s3_path_filter_limit">
  ## s3\_path\_filter\_limit
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "1000"},{"label": "новая настройка"}]}]} />

Максимальное количество значений `_path`, которые можно извлечь из фильтров запроса, чтобы использовать их при переборе файлов
вместо перечисления через glob. 0 означает, что параметр отключён.

<div id="s3_request_timeout_ms">
  ## s3\_request\_timeout\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="30000" />

Тайм-аут простоя при отправке и получении данных в/из S3. Операция завершается с ошибкой, если один вызов TCP на чтение или запись блокируется на это время.

<div id="s3_skip_empty_files">
  ## s3\_skip\_empty\_files
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "Надеемся, это улучшит UX"}]}]} />

Включает или отключает пропуск пустых файлов в таблицах с движком [S3](/docs/ru/reference/engines/table-engines/integrations/s3).

Возможные значения:

* 0 — `SELECT` генерирует исключение, если пустой файл несовместим с запрошенным форматом.
* 1 — `SELECT` возвращает пустой результат для пустого файла.

<div id="s3_slow_all_threads_after_network_error">
  ## s3\_slow\_all\_threads\_after\_network\_error
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "новая настройка"}]}]} />

Если установлено значение `true`, все потоки, выполняющие S3-запросы к одной и той же конечной точке резервной копии, замедляются
после того, как в любом отдельном S3-запросе возникает сетевая ошибка, допускающая повторную попытку, например тайм-аут сокета.
Если установлено значение `false`, каждый поток обрабатывает задержку S3-запросов независимо от остальных.

<div id="s3_strict_upload_part_size">
  ## s3\_strict\_upload\_part\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Точный размер части, загружаемой при multipart-загрузке в S3 (некоторые реализации не поддерживают части переменного размера).

<div id="s3_throw_on_zero_files_match">
  ## s3\_throw\_on\_zero\_files\_match
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Сгенерировать исключение, если запрос ListObjects не находит ни одного подходящего файла

<div id="s3_truncate_on_insert">
  ## s3\_truncate\_on\_insert
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Включает или отключает усечение перед вставкой в таблицы с движком S3. Если параметр отключён, при попытке вставки будет сгенерировано исключение, если объект S3 уже существует.

Возможные значения:

* 0 — запрос `INSERT` создаёт новый файл или завершается ошибкой, если файл уже существует и параметр `s3_create_new_file_on_insert` не задан.
* 1 — запрос `INSERT` заменяет существующее содержимое файла новыми данными.

Подробнее см. [здесь](/docs/ru/integrations/connectors/data-ingestion/AWS/integrating-s3-with-clickhouse#inserting-data).

<div id="s3_uri_style">
  ## s3\_uri\_style
</div>

<SettingsInfoBlock type="S3UriStyle" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "auto"},{"label": "Новая настройка."}]}]} />

Принудительно задаёт стиль адресации для конечной точки S3. Возможные значения: auto, virtual\_hosted, path.

<div id="s3_use_adaptive_timeouts">
  ## s3\_use\_adaptive\_timeouts
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Если установлено значение `true`, то для всех запросов к S3 первые две попытки выполняются с короткими тайм-аутами отправки и получения.
Если установлено значение `false`, то все попытки выполняются с одинаковыми тайм-аутами.
