

# Referencia de las operaciones de la API de datos de Amazon RDS
<a name="data-api-operations"></a>

La API de datos de Amazon RDS proporciona las operaciones siguientes para realizar instrucciones SQL.


****  

|  Operación de la API  |  AWS CLI command  |  Descripción  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_ExecuteStatement.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/rds-data/execute-statement.html](https://docs.aws.amazon.com/cli/latest/reference/rds-data/execute-statement.html)  |  Ejecuta una instrucción SQL en una base de datos.  | 
|  [https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BatchExecuteStatement.html](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BatchExecuteStatement.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/rds-data/batch-execute-statement.html](https://docs.aws.amazon.com/cli/latest/reference/rds-data/batch-execute-statement.html)  |  Ejecuta una instrucción SQL por lotes en una matriz de datos para operaciones de inserción y actualización masivas. Puede ejecutar una instrucción de lenguaje de manipulación de datos (DML) con una matriz de conjuntos de parámetros. Una instrucción SQL por lotes puede proporcionar una mejora significativa del rendimiento en comparación con las instrucciones de actualización e inserción individuales.  | 

Puede utilizar cualquiera de las operaciones para ejecutar sentencias SQL individuales o para ejecutar transacciones. La API de datos proporciona las operaciones siguientes para las transacciones.


****  

|  Operación de la API  |  AWS CLI command  |  Descripción  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BeginTransaction.html](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_BeginTransaction.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/rds-data/begin-transaction.html](https://docs.aws.amazon.com/cli/latest/reference/rds-data/begin-transaction.html)  |  Inicia una transacción SQL.  | 
|  [https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_CommitTransaction.html](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_CommitTransaction.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/rds-data/commit-transaction.html](https://docs.aws.amazon.com/cli/latest/reference/rds-data/commit-transaction.html)  |  Finaliza una transacción SQL y confirma los cambios.  | 
|  [https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_RollbackTransaction.html](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_RollbackTransaction.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/rds-data/rollback-transaction.html](https://docs.aws.amazon.com/cli/latest/reference/rds-data/rollback-transaction.html)  |  Ejecuta una restauración de una transacción.  | 

Las operaciones para realizar instrucciones SQL y darle soporte a transacciones tienen los siguientes parámetros de la API de datos y opciones de AWS CLI comunes. Algunas operaciones dan soporte a otros parámetros u opciones.


****  

|  Parámetro de operación de la API de datos  |  AWS CLIOpción de comando de la   |  Obligatorio  |  Descripción  | 
| --- | --- | --- | --- | 
|  `resourceArn`  |  `--resource-arn`  |  Sí  |  El nombre de recurso de Amazon (ARN) del clúster de base de datos de Aurora. El clúster debe estar en la misma Cuenta de AWS que el rol o el usuario de IAM que invoca la API de datos. Para acceder a un clúster en una cuenta diferente, asuma un rol en esa cuenta.  | 
|  `secretArn`  |  `--secret-arn`  |  Sí  |  Nombre o ARN del secreto que permite el acceso al clúster de base de datos.  | 

La API de datos de RDS admite los tipos de datos siguientes para Aurora MySQL:
+ `TINYINT(1)`, `BOOLEAN`, `BOOL`
+ `TINYINT`
+ `SMALLINT` [`SIGNED` \$1 `UNSIGNED`]
+ `MEDIUMINT` [`SIGNED` \$1 `UNSIGNED`]
+ `INT` [`SIGNED` \$1 `UNSIGNED`]
+ `BIGINT` [`SIGNED` \$1 `UNSIGNED`]
+ `FLOAT`
+ `DOUBLE`
+ `VARCHAR`, `CHAR`, `TEXT`, `ENUM`
+ `VARBINARY`, `BINARY`, `BLOB`
+ `DATE`, `TIME`, `DATETIME`, `TIMESTAMP`
+ `DECIMAL`
+ `JSON`
+ `BIT`, `BIT(N)` 

La API de datos de RDS admite los siguientes tipos escalares de 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`

La API de datos de RDS admite los siguientes tipos de matriz de 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[]`

Puede usar parámetros en las llamadas a la API de datos para `ExecuteStatement` y `BatchExecuteStatement`, y cuando ejecuta los comandos de la AWS CLI `execute-statement` y `batch-execute-statement`. Para utilizar un parámetro, especifique un par de nombre-valor en el tipo de datos `SqlParameter`. Especifique el valor con el tipo de datos `Field`. En la tabla siguiente se mapean los tipos de datos de Java Database Connectivity (JDBC) con los tipos de datos que especifica en las llamadas a la API de datos.


****  

|  Tipo de datos JDBC  |  Tipo de datos de la API de datos  | 
| --- | --- | 
|  `INTEGER, TINYINT, SMALLINT, BIGINT`  |  `LONG` (o `STRING`)  | 
|  `FLOAT, REAL, DOUBLE`  |  `DOUBLE`  | 
|  `DECIMAL`  |  `STRING`  | 
|  `BOOLEAN, BIT`  |  `BOOLEAN`  | 
|  `BLOB, BINARY, LONGVARBINARY, VARBINARY`  |  `BLOB`  | 
|  `CLOB`  |  `STRING`  | 
|  Otros tipos (incluidos los tipos relacionados con la fecha y hora)  |  `STRING`  | 

**nota**  
 Puede especificar el tipo de datos `LONG` o `STRING` en la llamada de API de datos para `LONG` los valores devueltos por la base de datos. Le recomendamos que lo haga para evitar perder precisión para números extremadamente grandes, lo que puede suceder cuando trabaja con JavaScript. 

Ciertos tipos, como `DECIMAL` y `TIME`, requieren una sugerencia para que la API de datos pase `String` valores a la base de datos como el tipo correcto. Para utilizar una sugerencia, incluya valores para `typeHint` en los tipos de datos `SqlParameter`. Los posibles valores de `typeHint` son:
+ `DATE` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `DATE` a la base de datos. El formato aceptado es `YYYY-MM-DD`.
+ `DECIMAL` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `DECIMAL` a la base de datos.
+ `JSON` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `JSON` a la base de datos.
+ `TIME` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `TIME` a la base de datos. El formato aceptado es `HH:MM:SS[.FFF]`.
+ `TIMESTAMP` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `TIMESTAMP` a la base de datos. El formato aceptado es `YYYY-MM-DD HH:MM:SS[.FFF]`.
+  `UUID` –: el valor del parámetro `String` correspondiente se envía como un objeto de tipo `UUID` a la base de datos. 
**nota**  
Actualmente, la API de datos no admite matrices de identificadores únicos universales (UUID).

**nota**  
 Para Amazon Aurora PostgreSQL, la API de datos siempre devuelve el tipo de datos de Aurora PostgreSQL `TIMESTAMPTZ` en la zona horaria UTC.