

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDK for Rust でのクライアントの 1 つのオペレーション設定の上書き
<a name="peroperation"></a>

[サービスクライアントを作成](config-code.md)すると、設定は変更不可能になり、以降のすべてのオペレーションに適用されます。この時点で設定は変更できませんが、オペレーションごとにオーバーライドできます。

各オペレーションビルダーには、既存の設定の個別のコピーをオーバーライドできるように、`CustomizableOperation` を作成するための `customize` メソッドがあります。元のクライアント設定は変更されません。

次は、2 つのオペレーションを呼び出す Amazon S3 クライアントの作成例を示しています。2 番目のオペレーションは、別の AWS リージョンに送信するようにオーバーライドされます。Amazon S3 のオブジェクト呼び出しはすべて `us-east-1` リージョンを使用します。ただし、API コールが明示的にオーバーライドされ、変更された `us-west-2` を使用する場合を除きます。

```
use aws_config::{BehaviorVersion, Region};

let config = aws_config::defaults(BehaviorVersion::latest())
    .region("us-east-1")
    .load()
    .await;

let s3 = aws_sdk_s3::Client::new(&config);

// Request will be sent to "us-east-1"
s3.list_buckets()
    .send()
    .await?;

// Unset fields default to using the original config value
let modified = aws_sdk_s3::Config::builder()
    .region(Region::from_static("us-west-2"));

// Request will be sent to "us-west-2"
s3.list_buckets()
   // Creates a CustomizableOperation
    .customize()
    .config_override(modified)
    .send()
    .await?;
```

**注記**  
前の例は Amazon S3 向けですが、概念はすべてのオペレーションで同じです。一部のオペレーションでは、`CustomizeableOperation` で追加のメソッドがある場合があります。

1 回のオペレーションで `customize` を使用してインターセプターを追加する例については、「[特定のオペレーションのみのインターセプター](interceptors.md#interceptors-registration-specific)」を参照してください。