googleapis / googleapis/google-cloud-rust

Resumable uploads under application control

Open
#2,633 3 comments 0 reactions 0 assignees View on GitHub
api: storage priority: p3 type: feature request
Dominant language
Rust
Stars
955
Forks
144
Avg merge
1d 5h
Merged PRs (30d)
279

Description

We would like the application to start uploads and continue them after the application restarts. The API should support something like:

```rust
// The application can checkpoint `id` in a database or other persistent storage, to resume after a restart.
let id: String = client.start_upload("bucket", "object").await?;

// Requires the payload to implement `Seek`. Unlike most uploads this does not finalize the upload if the stream is closed.
let payload = tokio::fs::File::open("my-file.txt").await?;
let status = client.continue_upload("bucket", "object", id, payload).send().await?;

// Object is only finalized explicitly. The final payload *could* be empty.
let empty_payload = "";
let object = client.finalize_upload("bucket", "object", id, empty_payload).send().await?;
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.