

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift Python 连接器的 API 参考
<a name="python-api-reference"></a>

您可以在文中找到有关 Amazon Redshift Python 连接器 API 操作的说明。

## redshift\$1connector
<a name="python-api-redshift_connector"></a>

在下文中，您可以找到有关 `redshift_connector` API 操作的描述。

`connect(user, database, password[, port, …])`  
创建到 Amazon Redshift 集群的连接。此函数可验证用户输入，可以选择使用身份提供者插件进行身份验证，然后构造连接对象。

`apilevel`  
支持的 DBAPI 级别，目前为“2.0”。

`paramstyle``str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str`  
要在全局使用的数据库 API 参数样式。

## 连接
<a name="python-api-connection"></a>

您可以在文中找到有关 Amazon Redshift Python 连接器的连接 API 操作的说明。

`__init__(user, password, database[, host, …])`  
初始化原始连接对象。

`cursor`  
创建绑定到此连接的游标对象。

`commit`  
提交当前数据库事务。

`rollback`  
回滚当前的数据库事务。

`close`  
关闭数据库连接。

`execute(cursor, operation, vals)`  
运行指定的 SQL 命令。您可以将参数作为序列或映射提供，具体取决于 `redshift_connector.paramstyle` 的值。

`run(sql[, stream])`  
运行指定的 SQL 命令。或者，您也可以提供与 COPY 命令一起使用的流。

`xid(format_id, global_transaction_id, …)`  
创建事务 ID。postgres 中只使用了 `global_transaction_id` 参数。postgres 中不使用 format\$1id 和 branch\$1qualifier。`global_transaction_id` 可以是 postgres 支持的任何返回元组的字符串标识符（`format_id`、`global_transaction_id`、`branch_qualifier`）。

`tpc_begin(xid)`  
使用由格式 ID、全局事务 ID 和分支限定符组成的事务 ID `xid` 开始 TPC 事务。

`tpc_prepare`  
执行以 .tpc\$1begin 开始的事务的第一阶段。

`tpc_commit([xid])`  
在没有参数的情况下进行调用时，.tpc\$1commit 会提交之前使用 .tpc\$1prepare() 准备的 TPC 事务。

`tpc_rollback([xid])`  
在没有参数的情况下进行调用时，.tpc\$1rollback 会回滚 TPC 事务。

`tpc_recover`  
返回适合与 .tpc\$1commit(xid) 或 .tpc\$1rollback(xid) 一起使用的待处理事务 ID 列表。

## Cursor
<a name="python-api-cursor"></a>

在下文中，您可以找到有关 游标 API 操作的描述。

`__init__(connection[, paramstyle])`  
初始化原始游标对象。

`insert_data_bulk(filename, table_name, parameter_indices, column_names, delimiter, batch_size)`  
运行批量 INSERT 语句。

`execute(operation[, args, stream, …])`  
运行数据库操作。

`executemany(operation, param_sets)`  
准备数据库操作，然后为提供的所有参数序列或映射运行该操作。

`fetchone`  
获取查询结果集的下一行。

`fetchmany([num])`  
获取查询结果的下一个行集。

`fetchall`  
获取查询结果的所有剩余行。

`close`  
立即关闭光标。

`__iter__`  
可以迭代游标对象以从查询中检索行。

`fetch_dataframe([num])`  
返回最后查询结果的数据框。

`write_dataframe(df, table)`  
将相同的结构数据框写入 Amazon Redshift 数据库。

`fetch_numpy_array([num])`  
返回最后查询结果的 NumPy 数组。

`get_catalogs`  
Amazon Redshift 不支持来自单个连接的多个目录。Amazon Redshift 只返回当前目录。

`get_tables([catalog, schema_pattern, …])`  
返回系统中用户定义的唯一公共表。

`get_columns([catalog, schema_pattern, …])`  
返回 Amazon Redshift 数据库中特定表中所有列的列表。

## AdfsCredentialsProvider 插件
<a name="python-adfs-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 AdfsCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.AdfsCredentialsProvider()
```

## AzureCredentialsProvider 插件
<a name="python-azure-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 AzureCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.AzureCredentialsProvider()
```

## BrowserAzureCredentialsProvider 插件
<a name="python-browser-azure-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 BrowserAzureCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.BrowserAzureCredentialsProvider()
```

## BrowserSamlCredentialsProvider 插件
<a name="python-browser-saml-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 BrowserSamlCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.BrowserSamlCredentialsProvider()
```

## OktaCredentialsProvider 插件
<a name="python-okta-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 OktaCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.OktaCredentialsProvider()
```

## PingCredentialsProvider 插件
<a name="python-ping-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 PingCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.PingCredentialsProvider()
```

## SamlCredentialsProvider 插件
<a name="python-saml-credentials-plugin"></a>

以下是 Amazon Redshift Python 连接器的 SamlCredentialsProvider 插件 API 操作的语法。

```
redshift_connector.plugin.SamlCredentialsProvider()
```