

文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 AWS SDKs Amazon RDS Data Service 基本範例
<a name="rds-data_code_examples_basics"></a>

下列程式碼範例說明如何搭配 AWS SDK 使用 Amazon Relational Database Service Data Service 的基本功能。

**Contents**
+ [動作](rds-data_code_examples_actions.md)
  + [`ExecuteStatement`](rds-data_example_rds-data_ExecuteStatement_section.md)

# 使用 AWS SDKs 的 Amazon RDS Data Service 動作
<a name="rds-data_code_examples_actions"></a>

下列程式碼範例示範如何使用 AWS SDKs 執行個別 Amazon RDS Data Service 動作。每個範例均包含 GitHub 的連結，您可以在連結中找到設定和執行程式碼的相關說明。

這些摘錄會呼叫 Amazon RDS Data Service API，是必須在內容中執行之大型程式的程式碼摘錄。您可以在 [使用 AWS SDKs Amazon RDS Data Service 案例](rds-data_code_examples_scenarios.md) 中查看內容中的動作。

 下列範例僅包含最常使用的動作。如需完整清單，請參閱《[Amazon Relational Database Service Data Service API 參考](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/Welcome.html)》。

**Topics**
+ [`ExecuteStatement`](rds-data_example_rds-data_ExecuteStatement_section.md)

# `ExecuteStatement` 搭配 AWS SDK 或 CLI 使用
<a name="rds-data_example_rds-data_ExecuteStatement_section"></a>

下列程式碼範例示範如何使用 `ExecuteStatement`。

------
#### [ CLI ]

**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)。

------
#### [ Rust ]

**適用於 Rust 的 SDK**  
 GitHub 上提供更多範例。尋找完整範例，並了解如何在 [AWS 程式碼範例儲存庫](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/rdsdata#code-examples)中設定和執行。

```
async fn query_cluster(
    client: &Client,
    cluster_arn: &str,
    query: &str,
    secret_arn: &str,
) -> Result<(), Error> {
    let st = client
        .execute_statement()
        .resource_arn(cluster_arn)
        .database("postgres") // Do not confuse this with db instance name
        .sql(query)
        .secret_arn(secret_arn);

    let result = st.send().await?;

    println!("{:?}", result);
    println!();

    Ok(())
}
```
+  如需 API 的詳細資訊，請參閱《*適用於 Rust 的AWS SDK API 參考*》中的 [ExecuteStatement](https://docs.rs/aws-sdk-rdsdata/latest/aws_sdk_rdsdata/client/struct.Client.html#method.execute_statement)。

------