The Parse Server Google Cloud Storage Adapter.
npm install --save @parse/gcs-files-adapter
{
// 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
}
}
}
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.
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
});
directAccess
: if set totrue
, uploaded files will be set as public and files will be served directly by Google Cloud Storage. Default isfalse
and files are proxied by Parse Server.
See the Google Cloud documentation for how to generate a key file with credentials.