Parse Server - файловый адаптер S3 - доступ к предыдущим файлам, не относящимся к s3 - PullRequest
0 голосов
/ 11 декабря 2019

У нас есть мобильное приложение, которое работает на Parse Server 2.8.4 и размещено на DigitalOcean. Мы использовали файловый адаптер по умолчанию (GridStoreAdapter), и теперь мы хотим использовать Spaces от DigitalOcean. Это наш обновленный индексный файл:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var ParseDashboard = require('parse-dashboard');
var path = require('path');
var S3Adapter = require('parse-server').S3Adapter;
var AWS = require("aws-sdk");

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;

//Set Digital Ocean Spaces EndPoint
const spacesEndpoint = new AWS.Endpoint('fra1.digitaloceanspaces.com');
//Define S3 options
var s3Options = {
  bucket: 'bucketName',
  baseUrl: 'https://example.com',
  region: 'fra1',
  directAccess: true,
  globalCacheControl: "public, max-age=31536000",
  s3overrides: {
    accessKeyId: 'accessKey',
    secretAccessKey: ' secretAccessKey',
    endpoint: spacesEndpoint
  }
};

var s3Adapter = new S3Adapter(s3Options);

var api = new ParseServer({
  databaseURI: databaseUri,
  appId: process.env.APP_ID,
  allowClientClassCreation: false,
  masterKey: process.env.MASTER_KEY,
  fileKey: 'fileKey',  
  serverURL: process.env.SERVER_URL,
  publicServerURL: 'http://ip/parse',
  filesAdapter: s3Adapter
});

Все отлично работает! Файлы хранятся и извлекаются правильно, кроме старых! Каждое изображение, которое было сохранено с помощью GridStoreAdapter, больше не может быть получено! Можно ли что-нибудь сделать, чтобы можно было просматривать как старые, так и новые файлы?

...