

# AWS CLI를 사용한 Amazon RDS 예시
<a name="cli_rds-data_code_examples"></a>

다음 코드 예시에서는 Amazon RDS와 함께 AWS Command Line Interface를 사용하여 일반적인 시나리오를 구현하고 개별 서비스 작업을 수행하는 방법을 보여줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `batch-execute-statement`
<a name="rds-data_BatchExecuteStatement_cli_topic"></a>

다음 코드 예시에서는 `batch-execute-statement`의 사용 방법을 보여줍니다.

**AWS CLI**  
**배치 SQL 문 실행**  
다음 `batch-execute-statement` 예시에서는 파라미터 세트를 사용하여 데이터 배열에 대해 배치 SQL 문을 실행합니다.  

```
aws rds-data batch-execute-statement \
    --resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
    --database "mydb" \
    --secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret" \
    --sql "insert into mytable values (:id, :val)" \
    --parameter-sets "[[{\"name\": \"id\", \"value\": {\"longValue\": 1}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueOne\"}}],
        [{\"name\": \"id\", \"value\": {\"longValue\": 2}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueTwo\"}}],
        [{\"name\": \"id\", \"value\": {\"longValue\": 3}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueThree\"}}]]"
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon RDS 사용자 안내서*의 [Aurora Serverless에 데이터 API 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [BatchExecuteStatement](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds-data/batch-execute-statement.html)를 참조하세요.

### `begin-transaction`
<a name="rds-data_BeginTransaction_cli_topic"></a>

다음 코드 예시에서는 `begin-transaction`의 사용 방법을 보여줍니다.

**AWS CLI**  
**SQL 트랜잭션 시작**  
다음 `begin-transaction` 예시에서는 SQL 트랜잭션을 시작합니다.  

```
aws rds-data begin-transaction \
    --resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
    --database "mydb" \
    --secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret"
```
출력:  

```
{
    "transactionId": "ABC1234567890xyz"
}
```
자세한 내용은 *Amazon RDS 사용자 안내서*의 [Aurora Serverless에 데이터 API 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [BeginTransaction](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds-data/begin-transaction.html)을 참조하세요.

### `commit-transaction`
<a name="rds-data_CommitTransaction_cli_topic"></a>

다음 코드 예시에서는 `commit-transaction`의 사용 방법을 보여줍니다.

**AWS CLI**  
**SQL 트랜잭션 커밋**  
다음 `commit-transaction` 예시에서는 지정된 SQL 트랜잭션을 종료하고 그 일부로 적용한 변경 사항을 커밋합니다.  

```
aws rds-data commit-transaction \
    --resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
    --secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret" \
    --transaction-id "ABC1234567890xyz"
```
출력:  

```
{
    "transactionStatus": "Transaction Committed"
}
```
자세한 내용은 *Amazon RDS 사용자 안내서*의 [Aurora Serverless에 데이터 API 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CommitTransaction](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds-data/commit-transaction.html)을 참조하세요.

### `execute-statement`
<a name="rds-data_ExecuteStatement_cli_topic"></a>

다음 코드 예시에서는 `execute-statement`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 트랜잭션의 일부인 SQL 문 실행**  
다음 `execute-statement` 예시에서는 트랜잭션의 일부인 SQL 문을 실행합니다.  

```
aws rds-data execute-statement \
    --resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
    --database "mydb" \
    --secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret" \
    --sql "update mytable set quantity=5 where id=201" \
    --transaction-id "ABC1234567890xyz"
```
출력:  

```
{
    "numberOfRecordsUpdated": 1
}
```
**예 2: 파라미터를 사용하여 SQL 문을 실행하는 방법**  
다음 `execute-statement` 예시에서는 파라미터를 사용하여 SQL 문을 실행합니다.  

```
aws rds-data execute-statement \
    --resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster" \
    --database "mydb" \
    --secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret" \
    --sql "insert into mytable values (:id, :val)" \
    --parameters "[{\"name\": \"id\", \"value\": {\"longValue\": 1}},{\"name\": \"val\", \"value\": {\"stringValue\": \"value1\"}}]"
```
출력:  

```
{
    "numberOfRecordsUpdated": 1
}
```
자세한 내용은 *Amazon RDS 사용자 안내서*의 [Aurora Serverless에 데이터 API 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ExecuteStatement](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds-data/execute-statement.html)를 참조하세요.

### `rollback-transaction`
<a name="rds-data_RollbackTransaction_cli_topic"></a>

다음 코드 예시에서는 `rollback-transaction`의 사용 방법을 보여줍니다.

**AWS CLI**  
**SQL 트랜잭션 롤백**  
다음 `rollback-transaction` 예시에서는 지정된 SQL 트랜잭션을 롤백합니다.  

```
aws rds-data rollback-transaction \
    --resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
    --secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret" \
    --transaction-id "ABC1234567890xyz"
```
출력:  

```
{
    "transactionStatus": "Rollback Complete"
}
```
자세한 내용은 *Amazon RDS 사용자 안내서*의 [Aurora Serverless에 데이터 API 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [RollbackTransaction](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds-data/rollback-transaction.html)을 참조하세요.