file_key解析服务器不起作用

时间:2016-05-25 02:33:28

标签: ios amazon-web-services parse-platform parse-server

我已经尝试了大约6周的时间来了解如何解决Parse Server和我的传统PFFiles的问题。我不打算迁移传统的PFFiles,只是在Parse维护时使用它们进行测试和开发。测试后,我将安装一个S3文件适配器。

运行IOS 9.3的我的应用程序是用Objective C编写的,可存储图像和视频,并在连接到Parse.com网站时运行正常。我想用Parse Server测试它,并在完成迁移时逐步纠正问题。但是,我无法纠正消息{"代码":1,"消息":"内部服务器错误。)发生的(看似简单的)故障。 #34;}

我的MongoDb使用了mLab,我根据需要适当地包含了它的URI(和登录名)以及解析的文件密钥。我在app.config文件中,在AWS上的解析服务器实例的环境中以及通过我的index.js文件对环境数据的适当引用中有信息。

如果我查询没有PFFile项的集合,则查询成功(即正常)。但是,如果我查询具有PFFiles的集合,则查询将失败并显示{"代码":1,"消息":"内部服务器错误。"}。即使在我使用SelectKey试图绕过PFFile对象时,我甚至无法检索这样一个失败查询的1条记录。

查询是:

PFQuery query = [PFQuery queryWithClassName:CLASSNAME];

     query.cachePolicy = kPFCachePolicyNetworkOnly;
     [query whereKey:USERNAME equalTo:[[PFUser currentUser]username]];
     [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
      {

          if (!error)
          {
            ... 
          }
          else NSLog(@" %@", error);
      }];

在我的测试中,我希望能够检索遗留文件并使用这些遗留数据测试应用程序,这些数据应该很容易获得(根据Parse.com的说法)。

在我的index.js中,我包含了我的Parse fileKey:

var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'myAppId',
masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
filekey: process.env.FILE_KEY || 'no file key',
liveQuery: {
classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
   }
}); 

我已将环境密钥FILE_KEY设置为EC2上的nodeS实例。

此外,虽然它是多余的,但我在app.config文件中包含了一个FILE_KEY参数(parse-server-example)。

option_settings:
  aws:elasticbeanstalk:application:environment:
    PARSE_MOUNT: "/parse"
    APP_ID: "ReplaceWithAppID"
    MASTER_KEY: "ReplaceWithMasterKey"
    DATABASE_URI: "ReplaceWithDatabaseURI"
    NODE_ENV: "production"
    SERVER_URL: "http://myappname.elasticbeanstalk.com/parse"
    FILE_KEY: "Parse Filekey"
  aws:elasticbeanstalk:container:nodejs:

    NodeCommand: "npm start"

我已经研究过以前的帖子和论坛,并查看了Parse IOS SDK源代码。

我意识到fileKey是Parse存储在S3上的PFFILE的前缀,很可能是存储桶名称。

由于似乎没有人遇到我的问题,因此必须是我的重大监督的结果。

但是,有人可以帮忙吗?

0 个答案:

没有答案