The Wayback Machine - https://web.archive.org/web/20221018082843/https://github.com/parse-community/parse-server-gcs-adapter
Skip to content

parse-community/parse-server-gcs-adapter

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Parse Server GCS Adapter

Build Status Snyk Badge Coverage auto-release

npm latest version


The Parse Server Google Cloud Storage Adapter.


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.