Amazon RDS 数据 API 操作参考 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon RDS 数据 API 操作参考

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

Data API 操作

Amazon CLI command

描述

ExecuteStatement

aws rds-data execute-statement

对数据库运行 SQL 语句。

BatchExecuteStatement

aws rds-data batch-execute-statement

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

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

Data API 操作

Amazon 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 参数和 Amazon CLI 选项。某些操作支持其他参数或选项。

Data API 操作参数

Amazon CLI 命令选项

必需

描述

resourceArn

--resource-arn

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

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[]

您可以在对 ExecuteStatementBatchExecuteStatement 的 Data API 调用中使用参数,或在运行 Amazon CLI 命令 execute-statementbatch-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 值指定 LONGSTRING 数据类型。建议您这样操作,以避免在使用 JavaScript 时发生超大数字失去精准性的情况。

某些类型(例如 DECIMALTIME)需要提示,以便数据 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