

# Referência de operações da API de dados do Amazon RDS
<a name="data-api-operations"></a>

A API de dados do Amazon RDS oferece as operações a seguir para executar instruções SQL.


****  

|  Operação da API de dados  |  AWS CLI command  |  Descrição  | 
| --- | --- | --- | 
|  [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)  |  Executa uma instrução SQL em um banco de dados.  | 
|  [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)  |  Executa uma instrução SQL em lote em uma matriz de dados para atualização em massa e operações de inserção. Você pode executar uma instrução de linguagem de manipulação de dados (DML) com uma matriz de conjuntos de parâmetros. Uma instrução SQL em lote pode fornecer uma melhoria significativa de performance em relação a instruções de atualização e inserção individuais.  | 

Você pode usar a operação para executar instruções SQL individuais ou para executar transações. Para transações, a API de dados fornece as operações a seguir.


****  

|  Operação da API de dados  |  AWS CLI command  |  Descrição  | 
| --- | --- | --- | 
|  [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 uma transação 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)  |  Encerra uma transação SQL e confirma as alterações.  | 
|  [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)  |  Executa uma reversão de uma transação.  | 

As operações para executar instruções SQL e oferecer suporte a transações têm os parâmetros comuns da API de dados e as opções de AWS CLI a seguir. Algumas operações oferecem suporte a outros parâmetros ou outras opções.


****  

|  Parâmetro da operação da API de dados  |  AWS CLIOpção de comando da   |  Obrigatório  |  Descrição  | 
| --- | --- | --- | --- | 
|  `resourceArn`  |  `--resource-arn`  |  Sim  |  O nome do recurso da Amazon (ARN) do cluster de banco de dados do Aurora. O cluster deve estar na mesma Conta da AWS que o perfil ou usuário do IAM que invoca a API de dados. Para acessar um cluster em uma conta diferente, assuma um perfil nessa conta.  | 
|  `secretArn`  |  `--secret-arn`  |  Sim  |  O nome ou o ARN do segredo que permite o acesso ao cluster de banco de dados.  | 

A API de dados do RDS é compatível com os seguintes tipos de dados para o 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)` 

A API de dados do RDS é compatível com os seguintes tipos escalares do 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`

A API de dados do RDS é compatível com os seguintes tipos de matriz do 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[]`

Você pode usar parâmetros nas chamadas da API de dados para `ExecuteStatement` e `BatchExecuteStatement` e quando executar os comandos AWS CLI e `execute-statement` da `batch-execute-statement`. Para usar um parâmetro, especifique um par nome-valor no tipo de dados `SqlParameter`. Você especifica o valor com o tipo de dados `Field`. A tabela a seguir mapeia tipos de dados Java Database Connectivity (JDBC) para os tipos de dados especificados nas chamadas da API de dados.


****  

|  Tipo de dados JDBC  |  Tipo de dados da API de dados  | 
| --- | --- | 
|  `INTEGER, TINYINT, SMALLINT, BIGINT`  |  `LONG` (ou `STRING`)  | 
|  `FLOAT, REAL, DOUBLE`  |  `DOUBLE`  | 
|  `DECIMAL`  |  `STRING`  | 
|  `BOOLEAN, BIT`  |  `BOOLEAN`  | 
|  `BLOB, BINARY, LONGVARBINARY, VARBINARY`  |  `BLOB`  | 
|  `CLOB`  |  `STRING`  | 
|  Outros tipos (incluindo tipos relacionados a data e hora)  |  `STRING`  | 

**nota**  
 Você pode especificar o tipo de dados `LONG` ou `STRING` em sua chamada de API de dados para valores `LONG` retornados pelo banco de dados. Recomendamos que você faça isso para evitar perder precisão para números extremamente grandes, o que pode acontecer quando você trabalha com JavaScript. 

Determinados tipos, como `DECIMAL` e `TIME`, exigem uma dica para que a API de dados transmita valores `String` ao banco de dados como o tipo correto. Para usar uma dica, inclua valores de `typeHint` no tipo de dados `SqlParameter`. Os valores possíveis para `typeHint` são os seguintes:
+ `DATE`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `DATE` para o banco de dados. O formato aceito é `YYYY-MM-DD`.
+ `DECIMAL`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `DECIMAL` para o banco de dados.
+ `JSON`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `JSON` para o banco de dados.
+ `TIME`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `TIME` para o banco de dados. O formato aceito é `HH:MM:SS[.FFF]`.
+ `TIMESTAMP`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `TIMESTAMP` para o banco de dados. O formato aceito é `YYYY-MM-DD HH:MM:SS[.FFF]`.
+  `UUID`: o valor de parâmetro correspondente `String` é enviado como objeto do tipo `UUID` para o banco de dados. 
**nota**  
No momento, a API de dados não é compatível com as matrizes de identificadores únicos universais (UUIDs).

**nota**  
 Para o Amazon Aurora PostgreSQL, a API de dados sempre exibe o tipo de dados `TIMESTAMPTZ` do Aurora PostgreSQL no fuso horário UTC.