Skip to content

Google Cloud Storage

Robin Rodricks edited this page May 14, 2024 · 12 revisions

In order to use Google Cloud Storage reference NuGet package first.

You definitely want to use FluentStorage for working with Google Storage, as it solves quite a few issues which are hard to manage with the raw SDK:

  • Listing of files and folders
  • Recursive and non-recursive listing
  • Upload and download operations are continuing to be optimised

Connect using environment variables

If you have credentials stored in an environment variable. (As described here)

IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromEnvironmentVariable(bucketName);

Connect using credentials file

If you have credentials stored in an external JSON file.

IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromJsonFile(bucketName, filePath);

Connect using credentials

If you need the credentials passed as a JSON string.

IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromJson(
   bucketName, credentialsJsonString, isBase64EncodedString = false);

The last parameter says whether the string is base64 encoded or not, which is handy if credentials are stored in some sort of config file.

Connection Strings

First, don't forget to initialise the module:

StorageFactory.Modules.UseGoogleCloudStorage();

Then, use the string:

IBlobStorage storage = StorageFactory.Blobs.FromConnectionString("google.storage://bucket=...;cred=...");

Where cred is a BASE64 encoded credential string.