Skip to content

Instantly share code, notes, and snippets.

@ziedbentahar
Created July 31, 2024 19:02
async fn generate_presigned_request_uri(
s3_client: &Client,
media_bucket_name: &str,
task_id: &str,
) -> Result<String, Error> {
let key = format!("media-uploads/{}", task_id);
let expires_in = Duration::from_secs(15 * 60);
let presigned_request = s3_client
.put_object()
.bucket(media_bucket_name)
.key(key)
.metadata("task_id", task_id)
.presigned(PresigningConfig::expires_in(expires_in)?)
.await?;
let presigned_request_uri = presigned_request.uri();
Ok(presigned_request_uri.to_string())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment