Contains experimental features for the GCS C++ Client Library.
Classes
AsyncClient
A client for Google Cloud Storage offering asynchronous operations.
AsyncConnection
The *Connection
object for AsyncClient
.
AsyncReader
A handle for streaming downloads.
AsyncReaderConnection
The *Connection
object for AsyncReader
.
AsyncRewriter
Perform object rewrites asynchronously.
AsyncRewriterConnection
An interface for asynchronous object rewrite implementations.
AsyncToken
Serialize streams of asynchronous operations.
AsyncWriter
Perform resumable uploads asynchronously.
AsyncWriterConnection
An interface to asynchronously perform resumable uploads.
BucketName
Represent bucket names.
ComposeObjectRequest
A request to compose multiple objects into a single object.
IdempotencyPolicy
Define the interface for the AsyncClient
's idempotency policy.
InsertObjectRequest
A request to insert object sans the data payload.
ReadObjectRequest
A request to read an object.
ReadPayload
A partial or full response to an asynchronous download.
ResumableUploadRequest
A request to start or resume a resumable upload.
ResumePolicy
Controls how the client library resumes uploads and downloads.
WritePayload
An opaque representation of the data for an object payload.
Structs
BufferedUploadHwmOption
Configure the flow control algorithm for buffered uploads.
BufferedUploadLwmOption
Configure the flow control algorithm for buffered uploads.
GrpcPluginOption
Configure the GCS+gRPC plugin.
HttpVersionOption
Set the HTTP version used by the client.
IdempotencyPolicyOption
An option (see google::cloud::Options
) to set the idempotency policy.
ResumePolicyOption
Configure the resume policy used in a request, client, or connection.
Functions
MakeBucketName(absl::string_view)
Constructs a BucketName
from the given full_name
.
Returns a non-OK Status if full_name
is improperly formed.
Parameter | |
---|---|
Name | Description |
full_name |
|
Returns | |
---|---|
Type | Description |
StatusOr< BucketName > |
MakeStrictIdempotencyPolicy()
Creates an idempotency policy where only safe operations are retried.
Returns | |
---|---|
Type | Description |
std::unique_ptr< IdempotencyPolicy > |
MakeAlwaysRetryIdempotencyPolicy()
Creates an idempotency policy that retries all operations.
Returns | |
---|---|
Type | Description |
std::unique_ptr< IdempotencyPolicy > |
LimitedErrorCountResumePolicy(int)
Returns a factory which resumes up to maximum_resumes
times.
Parameter | |
---|---|
Name | Description |
maximum_resumes |
|
Returns | |
---|---|
Type | Description |
ResumePolicyFactory |
UnlimitedErrorCountResumePolicy()
Returns a factory which resumes forever.
Returns | |
---|---|
Type | Description |
ResumePolicyFactory |
DefaultGrpcClient(Options)
Create a google::cloud::storage::Client
object configured to use gRPC.
Example
void GrpcReadWrite(std::string const& bucket_name) {
namespace gcs = ::google::cloud::storage;
auto constexpr kText = R"""(Hello World!)""";
auto client = google::cloud::storage_experimental::DefaultGrpcClient();
auto object = client.InsertObject(bucket_name, "lorem.txt", kText);
if (!object) throw std::move(object).status();
auto input = client.ReadObject(bucket_name, "lorem.txt",
gcs::Generation(object->generation()));
std::string const actual(std::istreambuf_iterator<char>{input}, {});
if (input.bad()) throw google::cloud::Status(input.status());
std::cout << "The contents read back are:\n"
<< actual
<< "\nThe received checksums are: " << input.received_hash()
<< "\nThe computed checksums are: " << input.computed_hash()
<< "\nThe original hashes are: crc32c=" << object->crc32c()
<< ",md5=" << object->md5_hash() << "\n";
}
Parameter | |
---|---|
Name | Description |
opts |
the configuration parameters for the Client. |
Returns | |
---|---|
Type | Description |
google::cloud::storage::Client |
Type Aliases
ResumePolicyFactory
std::function< std::unique_ptr< ResumePolicy >()>
Creates new instances of a ResumePolicy
.