Uso de versiones de comportamiento en AWS SDK para Rust
Los desarrolladores de AWS SDK para Rust esperan y confían en el comportamiento robusto y predecible que ofrecen el lenguaje y sus principales bibliotecas. Para ayudar a los desarrolladores que utilizan el SDK para Rust a obtener el comportamiento esperado, las configuraciones del cliente deben incluir una BehaviorVersion. La BehaviorVersion especifica la versión del SDK cuyos valores predeterminados se esperan. Esto permite que el SDK evolucione con el tiempo, modificando las prácticas recomendadas para adaptarlas a los nuevos estándares y admitir nuevas características sin que ello repercuta de forma adversa e inesperada en el comportamiento de la aplicación.
aviso
Si intenta configurar el SDK o crear un cliente sin especificar de manera explícita una BehaviorVersion, el constructor entrará en panic.
Por ejemplo, imagina que se publica una nueva versión del SDK con una nueva política de reintentos predeterminada. Si la aplicación usa una BehaviorVersion que coincide con una versión anterior del SDK, se usará esa configuración anterior en lugar de la nueva configuración predeterminada.
Cada vez que se publica una nueva versión de comportamiento del SDK para Rust, la BehaviorVersion anterior se marca con el atributo de deprecated SDK para Rust y se agrega la nueva versión. Esto provoca que se produzcan advertencias en el momento de la compilación, pero, por lo demás, permite que la compilación continúe de la manera habitual. También se actualiza BehaviorVersion::latest() para indicar el comportamiento predeterminado de la nueva versión.
nota
Si el código no depende de características de comportamiento extremadamente específicas, debe usar BehaviorVersion::latest() en el código o el indicador de característica behavior-version-latest del archivo Cargo.toml. Si escribe código sensible a la latencia o que ajusta los comportamientos del SDK de Rust, considere la posibilidad de asignar BehaviorVersion a una versión principal específica.
Configuración de la versión de comportamiento en Cargo.toml
Puede especificar la versión de comportamiento del SDK y de módulos individuales, por ejemplo aws-sdk-s3 o aws-sdk-iam, incluyendo un indicador de característica adecuado en el archivo Cargo.toml. Por el momento, solo se admite la versión latest del SDK en Cargo.toml:
[dependencies] aws-config = { version = "1", features = ["behavior-version-latest"] } aws-sdk-s3 = { version = "1", features = ["behavior-version-latest"] }
Configuración de la versión de comportamiento en código
El código puede cambiar la versión de comportamiento según sea necesario especificándola al configurar el SDK o un cliente:
let config = aws_config::load_defaults(BehaviorVersion::v2023_11_09()).await;
En este ejemplo, se crea una configuración que utiliza el entorno para configurar el SDK, pero establece BehaviorVersion en v2023_11_09().