

文档 AWS SDK 示例 GitHub 存储库中还有更多 [S AWS DK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon RDS 数据服务执行的操作 AWS SDKs
<a name="rds-data_code_examples_actions"></a>

以下代码示例演示了如何使用执行单个 Amazon RDS 数据服务操作 AWS SDKs。每个示例都包含一个指向的链接 GitHub，您可以在其中找到有关设置和运行代码的说明。

这些代码节选调用了 Amazon RDS Data Service API，是必须在上下文中运行的较大型程序的代码节选。您可以在[使用 Amazon RDS 数据服务的场景 AWS SDKs](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 的详细信息，请参阅适用[ExecuteStatement](https://docs.rs/aws-sdk-rdsdata/latest/aws_sdk_rdsdata/client/struct.Client.html#method.execute_statement)于 *Rust 的AWS SDK API 参考*。

------