Amazon RDS Data API オペレーションリファレンス - Amazon Aurora

Amazon RDS Data API オペレーションリファレンス

Amazon RDS Data API では、以下のオペレーションを使用して、SQL ステートメントを実行することができます。

Data API オペレーション

AWS CLI コマンド

説明

ExecuteStatement

aws rds-data execute-statement

データベースで SQL ステートメントを実行します。

BatchExecuteStatement

aws rds-data batch-execute-statement

データの配列に対してバッチ SQL ステートメントを実行して、一括更新オペレーションおよび挿入オペレーションを行います。パラメータセットの配列を使用して、データ操作言語 (DML) ステートメントを実行できます。バッチ SQL ステートメントは、挿入ステートメントと更新ステートメントを個々に実行するよりもパフォーマンスは大幅に向上します。

どちらかの操作を使用して、個々の SQL ステートメントを実行したり、トランザクションを実行したりできます。トランザクションの場合、Data API は次のオペレーションを提供します。

Data API オペレーション

AWS CLI コマンド

説明

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 DB クラスターの Amazon リソースネーム (ARN)。クラスターは、Data API を呼び出す IAM ロールまたはユーザーと同じ AWS アカウントにある必要があります。別のアカウントのクラスターにアクセスするには、そのアカウントのロールを引き受けます。

secretArn

--secret-arn

はい

DB クラスターへのアクセスを有効にするシークレットの ARN の名前。

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

パラメータは、Data API の ExecuteStatement および BatchExecuteStatement への呼び出しと、AWS CLI の execute-statement コマンドおよび batch-execute-statement コマンドの実行時に使用できます。パラメータを使用するには、名前と値のペアを SqlParameter データ型で指定します。値は、Field データ型で指定します。次の表は、Data API 呼び出しで指定したデータ型に Java Database Connectivity (JDBC) データ型をマッピングしたものです。

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

注記

データベースによって返される LONG 値の Data API 呼び出しで、STRING または LONG データ型を指定できます。非常に大きな数値では精度を失うといった、JavaScript での作業時に発生する可能性のある事態を避けるために、これを行うことをお勧めします。

DECIMALTIME などの特定のタイプでは、Data 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 タイプのオブジェクトとしてデータベースに送信されます。

    注記

    現在、Data API はユニバーサル固有識別子 (UUID) の配列をサポートしていません。

注記

Amazon Aurora PostgreSQL の場合、Data API は常に UTC タイムゾーンの Aurora PostgreSQL データ型 TIMESTAMPTZ を返します。