@parse/gcs-files-adapter

Google Cloud Storage adapter for parse-server

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@parse/gcs-files-adapter
2941.2.1a year ago6 years agoMinified + gzip package size for @parse/gcs-files-adapter in KB

Readme

Parse Server GCS Adapter
Build Status Snyk Badge Coverage auto-release
npm latest version
The Parse Server Google Cloud Storage Adapter.

- [Config File](#config-file)
- [Environment Variables](#environment-variables)
- [Instance Parameters](#instance-parameters)
- Options - Obtaining Credentials File
Installation
npm install --save @parse/gcs-files-adapter
Usage with Parse Server

Config File

{
  // Parse server options
  appId: 'my_app_id',
  masterKey: 'my_master_key',
  // other options
  filesAdapter: {
    module: '@parse/gcs-files-adapter',
    options: {
      projectId: 'projectId',
      keyFilename: '/path/to/keyfile',
      bucket: 'my_bucket',
      // optional:
      bucketPrefix: '', // default value
      directAccess: false // default value
    } 
  }
}

Environment Variables

Set your environment variables:
GCP_PROJECT_ID=projectId
GCP_KEYFILE_PATH=/path/to/keyfile
GCS_BUCKET=bucketName

And update your config / options
{
  // Parse server options
  appId: 'my_app_id',
  masterKey: 'my_master_key',
  // other options
  filesAdapter: '@parse/gcs-files-adapter'
}

Alternatively, you can use
GCLOUD_PROJECT and GOOGLE_APPLICATION_CREDENTIALS environment variables.

Instance Parameters

var GCSAdapter = require('@parse/gcs-files-adapter');

var gcsAdapter = new GCSAdapter(
  'project', 
  'keyFilePath', 
  'bucket' , {
    bucketPrefix: '',
    directAccess: false
  }
);

var api = new ParseServer({
  appId: 'my_app',
  masterKey: 'master_key',
  filesAdapter: gcsAdapter
})

or with an options hash
var GCSAdapter = require('@parse/gcs-files-adapter');

var gcsOptions = {
  projectId: 'projectId',
  keyFilename: '/path/to/keyfile',
  bucket: 'my_bucket',
  bucketPrefix: '',
  directAccess: false
}

var gcsAdapter = new GCSAdapter(gcsOptions);

var api = new ParseServer({
  appId: 'my_app',
  masterKey: 'master_key',
  filesAdapter: gcsAdapter
});

Options

  • directAccess: if set to true, uploaded files will be set as public and files will be served directly by Google Cloud Storage. Default is false and files are proxied by Parse Server.

Obtaining Credentials File

See the Google Cloud documentation for how to generate a key file with credentials.