2017-01-02 58 views
1

我已將我的應用程序遷移到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 
} 

}); 

`

回答

0

第一件事,第一,你應該設置你的解析服務器的初始化文件密鑰。它不會沒有訪問:

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桶。不知道爲什麼。讓我知道你是否有想法。