View a markdown version of this page

Amazon RDS 数据 API 操作参考 - Amazon Aurora

Amazon RDS 数据 API 操作参考

Amazon RDS 数据 API 提供了以下操作来执行 SQL 语句。

Data API 操作

AWS CLI command

描述

ExecuteStatement

aws rds-data execute-statement

对数据库运行 SQL 语句。

BatchExecuteStatement

aws rds-data batch-execute-statement

对数据数组运行批处理 SQL 语句,以执行批量更新和插入操作。您可以使用参数集数组运行数据操作语言 (DML) 语句。相比单个插入和更新语句,批处理 SQL 语句可提供显著的性能改进。

您可以使用任一操作来运行单独的 SQL 语句或运行事务。针对事务,数据 API 提供了以下操作。

Data API 操作

AWS CLI command

描述

BeginTransaction

aws rds-data begin-transaction

开始 SQL 事务。

CommitTransaction

aws rds-data commit-transaction

结束 SQL 事务并提交更改。

RollbackTransaction

aws rds-data rollback-transaction

执行事务回滚。

执行 SQL 语句和支持事务的操作具有以下常用 Data API 参数和 AWS CLI 选项。某些操作支持其他参数或选项。

Data API 操作参数

AWS CLI 命令选项

必需

描述

resourceArn

--resource-arn

是

Aurora 数据库集群的 Amazon 资源名称(ARN)。集群必须与调用数据 API 的 IAM 角色或用户位于相同的 AWS 账户中。要使用其它账户访问集群,请代入该账户中的角色。

secretArn

--secret-arn

是

允许访问数据库集群的密钥的名称或 ARN。

RDS 数据 API 对于 Aurora MySQL 支持以下数据类型:

  • TINYINT(1), BOOLEAN, BOOL

  • TINYINT

  • SMALLINT [SIGNED | UNSIGNED]

  • MEDIUMINT [SIGNED | UNSIGNED]

  • INT [SIGNED | UNSIGNED]

  • BIGINT [SIGNED | UNSIGNED]

  • FLOAT

  • DOUBLE

  • VARCHAR, CHAR, TEXT, ENUM

  • VARBINARY, BINARY, BLOB

  • DATE, TIME, DATETIME, TIMESTAMP

  • DECIMAL

  • JSON

  • BIT, BIT(N)

RDS 数据 API 支持以下 Aurora PostgreSQL 标量类型:

  • BOOL

  • BYTEA

  • DATE

  • CIDR

  • DECIMAL, NUMERIC

  • ENUM

  • FLOAT8, DOUBLE PRECISION

  • INET

  • INT, INT4, SERIAL

  • INT2, SMALLINT, SMALLSERIAL

  • INT8, BIGINT, BIGSERIAL

  • JSONB, JSON

  • REAL, FLOAT

  • TEXT, CHAR(N), VARCHAR, NAME

  • TIME

  • TIMESTAMP

  • UUID

  • VECTOR

RDS 数据 API 支持以下 Aurora PostgreSQL 数组类型:

  • BOOL[], BIT[]

  • DATE[]

  • DECIMAL[], NUMERIC[]

  • FLOAT8[], DOUBLE PRECISION[]

  • INT[], INT4[]

  • INT2[]

  • INT8[], BIGINT[]

  • JSON[]

  • REAL[], FLOAT[]

  • TEXT[], CHAR(N)[], VARCHAR[], NAME[]

  • TIME[]

  • TIMESTAMP[]

  • UUID[]

您可以在对 ExecuteStatement 和 BatchExecuteStatement 的 Data API 调用中使用参数,或在运行 AWS CLI 命令 execute-statement 和 batch-execute-statement 时使用。要使用参数,请在 SqlParameter 数据类型中指定名称/值对。您可以使用 Field 数据类型指定值。下表将 Java 数据库连接 (JDBC) 数据类型映射到您在 Data API 调用中指定的数据类型。

JDBC 数据类型

Data API 数据类型

INTEGER, TINYINT, SMALLINT, BIGINT

LONG – 、 或 STRING

FLOAT, REAL, DOUBLE

DOUBLE

DECIMAL

STRING

BOOLEAN, BIT

BOOLEAN

BLOB, BINARY, LONGVARBINARY, VARBINARY

BLOB

CLOB

STRING

其他类型(包括与日期和时间有关的类型)

STRING

注意

您可以在 Data API 调用中为数据库返回的 LONG 值指定 LONG 或 STRING 数据类型。建议您这样操作,以避免在使用 JavaScript 时发生超大数字失去精准性的情况。

某些类型(例如 DECIMAL 和 TIME)需要提示,以便数据 API 将 String 值作为正确的类型传递给数据库。要使用提示,typeHint 数据类型中需要包含 SqlParameter 的值。typeHint 的可能值如下所示:

  • DATE – 相应的 String 参数值作为 DATE 类型的对象发送到数据库。接受的格式为 YYYY-MM-DD。

  • DECIMAL – 相应的 String 参数值作为 DECIMAL 类型的对象发送到数据库。

  • JSON – 相应的 String 参数值作为 JSON 类型的对象发送到数据库。

  • TIME – 相应的 String 参数值作为 TIME 类型的对象发送到数据库。接受的格式为 HH:MM:SS[.FFF]。

  • TIMESTAMP – 相应的 String 参数值作为 TIMESTAMP 类型的对象发送到数据库。接受的格式为 YYYY-MM-DD HH:MM:SS[.FFF]。

  • UUID – 相应的 String 参数值作为 UUID 类型的对象发送到数据库。

    注意

    目前,数据 API 不支持通用唯一标识符(UUID)数组。

注意

对于 Amazon Aurora PostgreSQL,数据 API 始终以 UTC 时区返回 Aurora PostgreSQL 数据类型 TIMESTAMPTZ。