Google Cloud Storage library for SMCloudStore
npm install @smcloudstore/google-cloud-storageThis package is a provider for SMCloudStore, for Google Cloud Storage. SMCloudStore is a lightweight Node.js module that offers a simple API to interact with the object storage services of multiple cloud providers.
Please refer to the main package for the SMCloudStore documentation and instructions on how to use it.
There are a few provider-specific considerations for the GoogleCloudStorage provider.
When initializing the GoogleCloudStorage provider, the connection argument is an object with:
- connection.projectId: ID of the Google Cloud project
- connection.keyFilename: path of the JSON file containing the key
Example:
```js
// Require the package
const SMCloudStore = require('smcloudstore')
// Complete with the connection options for Google Cloud Storage
const connection = {
projectId: 'name-100123',
keyFilename: 'path/to/file.json'
}
// Return an instance of the GoogleCloudStorage class
const storage = SMCloudStore.create('google-cloud-storage', connection)
``
When using the [storage.createContainer(container, [options])](https://italypaleale.github.io/SMCloudStore/classes/google_cloud_storage.googlecloudstorageprovider.html#createcontainer) and the [storage.ensureContainer(container, [options])](https://italypaleale.github.io/SMCloudStore/classes/google_cloud_storage.googlecloudstorageprovider.html#ensurecontainer) methods, the options argument can be used to define some options for the container:
- options.class (optional): string determining the storage class to use. Please refer to the documentation for more informatiom.'multi_regional'
- (default value)'regional'
- 'nearline'
- 'coldline'
- options.region
- (optional): string determining the region in which to create the container; you can see a list in the official documentation. Default value is us if storage class is multi_regional; us-central1 otherwise.
In the method [storage.presignedPutUrl(container, path, [options], [ttl])](https://italypaleale.github.io/SMCloudStore/classes/azure_storage.azurestorageprovider.html#presignedputurl), the Google Storage provider accepts the following keys for the options argument:
- options.metadata['Content-Type']: When set, clients uploading objects will have to specify the same "Content-Type" header in the request.
All other values in the options dictionary are ignored.
The Google Cloud Storage provider is built on top of the official Google Cloud Storage Node.js client, which is exposed by calling storage.client()`.
You can use the object returned by this method to perform low-level operations using the Google Cloud Storage SDK.