Spec-Zone.ru › Ansible

Модуль community.clickhouse.clickhouse_client — выполнение запросов к базе данных ClickHouse с помощью интерфейса Client clickhouse-driver

Примечание

Этот модуль входит в коллекцию community.clickhouse (версия 2.1.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.clickhouse. Для использования этого модуля требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.clickhouse.clickhouse_client.

Добавлено в community.clickhouse 0.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Выполняет произвольные запросы к базе данных ClickHouse с помощью интерфейса Client clickhouse-driver.
  • Всегда возвращает, что состояние изменилось.

Требования

Следующие требования необходимы на узле, на котором выполняется этот модуль.

  • clickhouse-driver

Параметры

Параметр

Комментарии

client_kwargs

словарь

Дополнительные именованные аргументы, которые необходимо передать интерфейсу Client при создании его объекта.

По умолчанию: {}

execute

строка / обязательный

Запрос для метода Client.execute().

execute_kwargs

словарь

Дополнительные именованные аргументы, которые необходимо передать методу Client.execute(). Например, можно передать параметры подстановки для запроса, указанного в аргументе execute.

По умолчанию: {}

login_db

строка

Соответствует аргументу Client(database='...').

Если аргумент не указан, используется значение аргумента по умолчанию драйвера.

login_host

строка

Соответствует аргументу Client(host='...').

По умолчанию: "localhost"

login_password

строка

Соответствует аргументу Client(password='...').

Если аргумент не указан, используется значение аргумента по умолчанию драйвера.

login_port

целое число

Соответствует аргументу Client(port='...').

Если аргумент не указан, используется значение аргумента по умолчанию драйвера.

login_user

строка

Соответствует аргументу Client(user='...').

Если аргумент не указан, используется значение аргумента по умолчанию драйвера.

Убедитесь, что у пользователя есть разрешения на чтение системных таблиц, перечисленных в разделе RETURN.

set_settings

словарь

добавлено в community.clickhouse 0.5.0

Словарь параметров, которые необходимо задать в сеансе перед выполнением запроса.

По умолчанию: {}

Примечания

Примечание

  • Не поддерживает check_mode.
  • Дополнительные сведения об интерфейсе драйвера см. в документации clickhouse-driver.

Примеры

- name: Query DB using non-default user & DB to connect to
  register: result
  community.clickhouse.clickhouse_client:
    execute: SELECT * FROM my_table
    login_host: localhost
    login_user: alice
    login_db: foo
    login_password: my_password

- name: Print returned rows
  ansible.builtin.debug:
    var: result.result

- name: Create table
  register: result
  community.clickhouse.clickhouse_client:
    execute: CREATE TABLE test_table_1 (x String) ENGINE = Memory
    set_settings:
      flatten_nested: 0
      short_circuit_function_evaluation: 'disable'

- name: Insert into test table using named parameters
  register: result
  community.clickhouse.clickhouse_client:
    execute: "INSERT INTO test_table_1 (x) VALUES (%(a)s), (%(b)s), (%(c)s)"
    execute_kwargs:
      params:
        a: one
        b: two
        c: three

- name: Check the result
  ansible.builtin.assert:
    that:
      - result.substituted_query == "INSERT INTO test_table_1 (x) VALUES ('one'), ('two'), ('three')"
      - result.statistics["processed_rows"] == 3

- name: Check rows were inserted into test table
  register: result
  community.clickhouse.clickhouse_client:
    execute: "SELECT * FROM test_table_1"

- name: Check returned values
  ansible.builtin.assert:
    that:
    - result.result == [["one"], ["two"], ["three"]]

Возвращаемые значения

Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

result

список / элементы=строка

Результат, возвращённый Client.execute().

Возвращается: при успешном выполнении

Пример: [["one"], ["two"], ["three"]]

statistics

словарь

Статистика последнего выполненного запроса, полученная из атрибута last_query.

Состав возвращаемых данных зависит от версии сервера.

Возвращается: при успешном выполнении

substituted_query

строка

Выполненный запрос с подставленными аргументами, если они есть.

Возвращается: при успешном выполнении

Пример: "SELECT * FROM test_table_1"

Авторы

  • Andrew Klychkov (@Andersson007)
  • Aleks Vagachev (@aleksvagachev)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Сообщить о проблеме
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/clickhouse/clickhouse_client_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API