Repository navigation
Google Cloud Storage
Robin Rodricks edited this page Jan 18, 2023
·
17 revisions
In order to use Google Cloud Storage reference package first.
You definitely want to use FluentStorage for working with Google Storage, as it solves quite a few issues which are hard to beat with raw SDK:
- Listing of files and folders
- Recursive and non-recursive listing
- Upload and download operations are continuing to be optimised
You can initialise it in one of few ways:
As described here
IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromEnvironmentVariable(string bucketName);IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromEnvironmentVariable(string bucketName, string credentialsFilePath);IBlobStorage storage = StorageFactory.Blobs.GoogleCloudStorageFromEnvironmentVariable(
string bucketName,
string credentialsJsonString,
bool isBase64EncodedString = false);This method is fairly interesting, as it allows you to pass credential file content as a string. 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.
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.
- AWS S3 Storage
- Azure Blob Storage
- Azure File Storage
- Azure Data Lake
- Azure Key Vault
- GCP Storage
- Cloudflare R2 Storage
- MinIO Storage
- DigitalOcean Spaces
- Wasabi Storage
- Backblaze B2 Storage
- Hetzner Storage
- Vultr Storage
- MongoDB GridFS Storage
- Alibaba OSS Storage
- FTP Storage
- SFTP Storage
- Git Repository Storage