---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/recipes/ydb-sdk/balancing-prefer-pile.md?version=v26.1
  - https://ydb.tech/docs/ru/recipes/ydb-sdk/balancing-prefer-pile.md?version=v26.1
  - href: ru/recipes/ydb-sdk/balancing-prefer-pile.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/recipes/ydb-sdk/balancing-prefer-pile.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Предпочитать пайл c конкретным состоянием

Ниже приведен пример кода установки опции алгоритма балансировки "предпочитать [пайл](https://ydb.tech/docs/ru/concepts/glossary.md?version=v26.1#pile) c конкретным [состоянием](https://ydb.tech/docs/ru/concepts/bridge.md?version=v26.1#pile-states)" в YDB SDK.

Если при установке опции состояние не задано, SDK предпочитает PRIMARY [пайл](https://ydb.tech/docs/ru/concepts/glossary.md?version=v26.1#pile).

Данная опция имеет смысл, только если кластер находится в [bridge режиме](https://ydb.tech/docs/ru/concepts/bridge.md?version=v26.1). Если это неверно, SDK будет использовать [равномерную случайную балансировку](https://ydb.tech/docs/ru/recipes/ydb-sdk/balancing-random-choice.md?version=v26.1).

{% list tabs %}

- С++

  {% list tabs %}

  - Native SDK

    ```cpp
    #include <ydb-cpp-sdk/client/driver/driver.h>

    int main() {
      auto connectionString = std::string(std::getenv("YDB_CONNECTION_STRING"));

      auto driverConfig = NYdb::TDriverConfig(connectionString)
        .SetBalancingPolicy(NYdb::TBalancingPolicy::UsePreferablePileState(NYdb::EPileState::PRIMARY));

      NYdb::TDriver driver(driverConfig);
      // ...
      driver.Stop(true);
      return 0;
    }
    ```

  - userver

    <!-- source: ru/_includes/feature-not-supported.md -->
    Функциональность на данный момент не поддерживается.
    <!-- endsource: ru/_includes/feature-not-supported.md -->

  {% endlist %}

- Go

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

- Python

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

- C#

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

- JavaScript

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

- Java

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

- Rust

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

  Отслеживать прогресс или проголосовать за поддержку в Rust SDK: [ydb-rs-sdk#491](https://github.com/ydb-platform/ydb-rs-sdk/issues/491)

- PHP

  <!-- source: ru/_includes/feature-not-supported.md -->
  Функциональность на данный момент не поддерживается.
  <!-- endsource: ru/_includes/feature-not-supported.md -->

{% endlist %}
