community.sap_libs.sap_hdbsql 模块 – 在 SAP HANA 上执行 SQL 的 Ansible 模块

注意

此模块是 community.sap_libs 集合 (版本 1.4.2) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.sap_libs

要在 playbook 中使用它,请指定:community.sap_libs.sap_hdbsql

community.sap_libs 1.0.0 中的新增功能

概要

  • 此模块使用 hdbsql 在 HANA 上执行 SQL 语句。

别名:hana_query

参数

参数

注释

autocommit

布尔值

自动提交语句。

选项

  • false

  • true ← (默认)

bin_path

字符串

hdbsql 二进制文件的路径。

database

字符串

定义要连接的数据库。

encrypted

布尔值

使用加密连接。

选项

  • false ← (默认)

  • true

filepath

列表 / 元素=路径

一个或多个文件,每个文件包含一个要运行的 SQL 查询。

必须是字符串或包含字符串的列表。

host

字符串

主机 IP 地址。也可以定义端口。

instance

字符串 / 必需

实例编号。

password

字符串

连接到数据库的密码。

注意:由于密码必须作为命令行参数传递,因此应尽可能使用userstore=true,因为命令行参数可以被同一台机器上的其他用户看到。

query

列表 / 元素=字符串

要运行的 SQL 查询。

必须是字符串或包含字符串的列表。请注意,如果您提供字符串,它将被逗号 ( , ) 分割成列表。最好提供一个单元素列表以避免输入混乱。

sid

字符串

系统 ID。

user

字符串

专用用户名。用户也可以在 hdbuserstore 中。

默认值:"SYSTEM"

userstore

布尔值

如果为 true,则用户必须在 hdbuserstore 中。

选项

  • false ← (默认)

  • true

备注

注意

  • 不支持 check_mode。即使没有进行任何更改,也会始终报告状态已更改。

示例

- name: Simple select query
  community.sap_libs.sap_hdbsql:
    sid: "hdb"
    instance: "01"
    password: "Test123"
    query: select user_name from users

- name: RUN select query with host port
  community.sap_libs.sap_hdbsql:
    sid: "hdb"
    instance: "01"
    password: "Test123"
    host: "10.10.2.4:30001"
    query: select user_name from users

- name: Run several queries
  community.sap_libs.sap_hdbsql:
    sid: "hdb"
    instance: "01"
    password: "Test123"
    query:
    - select user_name from users
    - select * from SYSTEM
    host: "localhost"
    autocommit: False

- name: Run several queries with path
  community.sap_libs.sap_hdbsql:
    bin_path: "/usr/sap/HDB/HDB01/exe/hdbsql"
    instance: "01"
    password: "Test123"
    query:
    - select user_name from users
    - select * from users
    host: "localhost"
    autocommit: False

- name: Run several queries from file
  community.sap_libs.sap_hdbsql:
    sid: "hdb"
    instance: "01"
    password: "Test123"
    filepath:
    - /tmp/HANA_CPU_UtilizationPerCore_2.00.020+.txt
    - /tmp/HANA.txt
    host: "localhost"

- name: Run several queries from user store
  community.sap_libs.sap_hdbsql:
    sid: "hdb"
    instance: "01"
    user: hdbstoreuser
    userstore: true
    query:
    - select user_name from users
    - select * from users
    autocommit: False

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

query_result

列表 / 元素=列表

包含所有已执行查询的结果的列表(每个查询一个子列表)。

返回:成功时

示例:[[{"Column": "Value1"}, {"Column": "Value2"}], [{"Column": "Value1"}, {"Column": "Value2"}]]

作者

  • Rainer Leber (@rainerleber)