Hiper1.x - AWS SDK para Rust

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Hiper1.x

nota

AWS SDK para Rust Se desarrolló antes de hyper lanzar una versión 1.0 estable. Actualmente, el SDK utiliza de forma predeterminada la versión 0.14 de. hyper

hyperes una biblioteca HTTP de nivel inferior para Rust que se puede usar con ella para realizar llamadas AWS SDK para Rust al servicio de la API. Para ver la documentación de referencia sobre esta caja, consulte hyper - Rust. De forma predeterminada, el SDK de Rust usa la versión 0.14 y un proveedor. hyper CryptoMode:Ring

Los clientes compatibles con la hyper versión 1.0 se encuentran en la aws-smithy-experimentalcaja.

Elige un proveedor de criptomonedas

Debe elegir una función requerida en la aws-smithy-experimental caja CryptoProvider y habilitarla.

Están disponibles los siguientes CryptoProvider modos:

  • CryptoMode:AwsLc- un proveedor criptográfico basado en aws-lc-rs. Esta es una biblioteca criptográfica de uso general mantenida por el equipo de AWS criptografía para AWS y sus clientes, basada en el código del proyecto Google BoringSSL y el proyecto OpenSSL.

    • Requiere crypto-aws-lc una función.

  • CryptoMode:AwsLcFips- un proveedor criptográfico compatible con FIPS basado en. aws-lc-rs

    • crypto-aws-lc-fipsRequiere una función.

      nota

      Esto puede requerir herramientas de compilación adicionales para poder compilar. Para obtener más información, consulta el aws-lc-rsrepositorio y las instrucciones de compilación.

  • CryptoMode:Ring- un proveedor criptográfico basado en ring. Se trata de una «criptomoneda pequeña, segura y rápida que utiliza Rust».

    • Requiere una funcióncrypto-ring.

      nota

      Este es el proveedor de cifrado que utiliza el SDK de Rust en el cliente predeterminado de la hyper versión 0.14.

¿Cómo habilitar una función para una caja

El siguiente ejemplo muestra cómo añadir la crypto-aws-lc función a la aws-smithy-experimental caja de tu proyecto: Cargo.toml

[dependencies] aws-smithy-experimental = { version = "0.1.3", features = ["crypto-aws-lc"] }

Como alternativa, puedes ejecutar el siguiente comando en una línea de comandos de la carpeta de tu proyecto:

$ cargo add aws-smithy-experimental -F crypto-aws-lc

Para obtener más información, consulte Características en The Cargo Book.

Cree un cliente hyper 1.0 y utilícelo con el SDK

Para crear un cliente hyper 1.0Cargo.toml, añade la aws-smithy-experimental caja al de tu proyecto. HyperClientBuilderRequiere que elijas unCryptoProvider. La sección anterior abordó las opciones de proveedores y cómo habilitar una de las funciones de la caja relacionadas con las aws-smithy-experimental criptomonedas.

El siguiente código se utiliza CryptoMode::AwsLc como proveedor de cifrado para que un cliente HTTP hyper 1.0 lo utilice con un cliente del servicio Amazon Simple Storage Service (Amazon S3). Para este ejemplo, tu proyecto Cargo.toml también debe incluir Servicio de AWS la caja,aws-sdk-s3.

use aws-smithy-experimental::hyper_1_0::{ CryptoMode, HyperClientBuilder }; use aws_smithy_runtime_api::client::behavior_version::BehaviorVersion; let http_client = HyperClientBuilder::new() .crypto_mode(CryptoMode::AwsLc) // Choose a crypto provider. .build_https(); let config = aws_config::defaults(BehaviorVersion::latest()) .http_client(http_client) // Set the http_client on the shared config struct. .load() .await; let s3 = aws_sdk_s3::Client::new(&config);

El cliente HTTP se puede configurar en la estructura de configuración compartida o en la estructura de configuración de un servicio específico.