Anulación de la configuración de una sola operación de un cliente en AWS SDK para Rust
Tras crear un cliente de servicio, la configuración pasa a ser inmutable y se aplicará a todas las operaciones posteriores. Si bien la configuración no se puede modificar en este momento, se puede anular por operación.
Cada generador de operaciones tiene un método customize disponible para crear una CustomizableOperation de forma que pueda anular una copia individual de la configuración existente. La configuración original del cliente permanecerá intacta.
El siguiente ejemplo muestra la creación de un cliente Amazon S3 que llama a dos operaciones, la segunda de las cuales se anula para enviarla a otra Región de AWS diferente. Todas las invocaciones de objetos de Amazon S3 utilizan la región us-east-1, excepto cuando la llamada a la API se anula explícitamente para usar la región us-west-2 modificada.
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?;
nota
El ejemplo anterior está destinado a Amazon S3, pero el concepto es el mismo para todas las operaciones. Es posible que algunas operaciones tengan métodos adicionales activados en CustomizeableOperation.
Para ver un ejemplo de cómo añadir un interceptor mediante customize para una sola operación, consulte Interceptor solo para una operación específica.