Fazer solicitações de AWS service (Serviço da AWS) usando o AWS SDK para Rust - AWS SDK para Rust

Fazer solicitações de AWS service (Serviço da AWS) usando o AWS SDK para Rust

Para acessar os Serviços da AWS de forma programática, o AWS SDK para Rust usa uma estrutura de cliente para cada AWS service (Serviço da AWS). Por exemplo, se a aplicação precisar de acesso ao Amazon EC2, ela cria uma estrutura de cliente do EC2 para interagir com esse serviço. Em seguida, você usa o cliente de serviço para fazer solicitações para esse AWS service (Serviço da AWS).

Para fazer uma solicitação a um AWS service (Serviço da AWS), primeiro crie e configure um cliente de serviço. Para cada AWS service (Serviço da AWS) que seu código usa, ele tem sua própria caixa e seu próprio tipo dedicado para interagir com ela. O cliente expõe um método para cada operação de API exposta pelo serviço.

Para interagir com os Serviços da AWS no AWS SDK para Rust, crie um cliente específico para o serviço, use seus métodos de API com encadeamento fluente no estilo de construtor e chame send() para executar a solicitação.

O Client expõe um método para cada operação de API exposta pelo serviço. O valor de retorno de cada um desses métodos é um “construtor fluente”, em que diferentes entradas para a API são adicionadas pelo encadeamento de chamadas de funções no estilo do construtor. Após chamar os métodos do serviço, chame send() para obter um Future que resultará em uma saída bem-sucedida ou em um SdkError. Para obter mais informações sobre SdkError, consulte Tratamento de erros no AWS SDK para Rust.

O seguinte exemplo demonstra uma operação básica usando o Amazon S3 para criar um bucket na Região da AWS us-west-2:

let config = aws_config::defaults(BehaviorVersion::latest()) .load() .await; let s3 = aws_sdk_s3::Client::new(&config); let result = s3.create_bucket() // Set some of the inputs for the operation. .bucket("my-bucket") .create_bucket_configuration( CreateBucketConfiguration::builder() .location_constraint(aws_sdk_s3::types::BucketLocationConstraint::UsWest2) .build() ) // send() returns a Future that does nothing until awaited. .send() .await;

Cada caixa de serviços tem módulos adicionais usados para entradas de API, como os seguintes:

  • O módulo types tem estruturas ou enumerações para fornecer informações estruturadas mais complexas.

  • O módulo primitives tem tipos mais simples para representar dados, como data, hora ou blobs binários.

Consulte a documentação de referência da API sobre a caixa de serviços para obter informações e organização mais detalhadas sobre caixas. Por exemplo, a caixa aws-sdk-s3 do Amazon Simple Storage Service tem vários módulos. Dois dos quais são: