S3图像不会在解析服务器上显示

问题描述:

我已将我的应用程序迁移到mongo和heroku。我现在正在努力确保所有的PFFiles,这些都是图像,都被迁移到我的S3。我浏览了教程和代码,并验证了我的照片出现在S3存储桶中,并且mongoDb更新了它们的名称。然而,当我运行的应用程序,并尝试查看的图片,我得到这样的:S3图像不会在解析服务器上显示

[错误]:响应状态代码是不可接受的:403(代码:1,版本:1.14.2)

这里是我的index.js

// Example express application adding the parse-server module to expose Parse 
// compatible API routes. 

var express = require('express'); 
var ParseServer = require('parse-server').ParseServer; 
var path = require('path'); 

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI; 
var S3Adapter = require('parse-server').S3Adapter; 
if (!databaseUri) { 
console.log('DATABASE_URI not specified, falling back to localhost.'); 
} 

var api = new ParseServer({ 
databaseURI: databaseUri || 'mongodb://MYSTUFF/app', 
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
appId: process.env.APP_ID || 'APPID', 
masterKey: process.env.MASTER_KEY || 'MASTER', 
serverURL: process.env.SERVER_URL || 'https://fritchchurch.herokuapp.com/parse', // Don't forget to change to https if needed 

filesAdapter: new S3Adapter(
process.env.AWS_ACCESS_KEY_ID || "KEYID", 
process.env.AWS_SECRET_ACCESS_KEY || "ACCESSKEY", 
process.env.BUCKET_NAME || "fritchdirectory", 
{directAccess: true} 

), 

liveQuery: { 
classNames: ["Users", "FritchDirectory"] // List of classes to support for query subscriptions 
} 

}); 

`

第一件事,第一,你应该设置你的解析服务器的初始化文件密钥。它不会没有访问:

fileKey: process.env.FILE_KEY || 'file_key', 

此外,请确保您的策略是正确设置了您使用的是新S3Adapter码位AWS IAM用户。以下是我遵循的内容:https://github.com/ParsePlatform/parse-server/wiki/Configuring-File-Adapters

希望这会覆盖它,虽然还有其他的东西可以。

我有一个奇怪的版本的这个问题,我可以上传图片,但不能拉下来。我得到这个每当我试图拉下来:

2017-01-04 19:38:51.417576 Nomnomz[2711:2280806] [Error]: Response status code was unacceptable: 403 (Code: 1, Version: 1.12.0) 

这也可能是一些关联问题,即它要对从Parse.com拉的照片,虽然我把它们上传到S3桶。不知道为什么。让我知道你是否有想法。