Как сохранить составное поле actix в s3, используя rusoto_s3?

Я совершенно новый для ржавчины, но учусь. Я пытаюсь выполнить многоэтапную загрузку с помощью actix_web и actix_multipart и загрузить ее в aws s3 с помощью rusoto_s3. Из моего базового понимания в основном у меня есть поток одного типа, который мне нужно преобразовать в ByteStream который является то, что put_object PutObjectRequest { body } требует.

Я предполагаю, что мне нужно использовать карту на поле, чтобы преобразовать ее из одного типа в другой, но я немного растерялся.

Например, что-то в этом роде?

pub fn save_file_s3(field: Field, s3_client: &S3Client) {
    let bucket = env::var("S3_BUCKET").expect("S3 bucket must be set.");

    let item = field.map();

    s3_client.put_object(PutObjectRequest {
        bucket: bucket,
        body: item,        
        ..Default::default()
    }).into_stream();
}

Спасибо за помощь!

0 ответов

Другие вопросы по тегам