使用 Heroku 应用程序解析服务器 S3 文件适配器
Parse Server S3 file adapter with Heroku app
我正在尝试设置 s3 文件适配器,但我不确定我是否得到了不正确的格式或其他内容。我已经关注了这个:
https://github.com/ParsePlatform/parse-server/wiki/Configuring-File-Adapters#configuring-s3adapter
完全正确的指导,但是当我取消注释下面的代码块并输入我的 aws 凭据然后将设置推回 Heroku 时,应用程序或仪表板将不再启动,说有应用程序错误:
//**** File Storage ****//
filesAdapter: new S3Adapter(
{
"xxxxxxxx",
"xxxxxxxx",
"xxxxxxxx",
{directAccess: true}
}
)
我会为 Heroku 设置如下:
确保在执行指南中描述的所有步骤后,您的政策看起来类似于:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME",
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}
现在将此策略应用于存储桶:select 您在 S3 控制台中的存储桶,点击右上角的“属性”按钮。展开“权限”部分,按“编辑存储桶策略”并将上面的 json 粘贴到文本字段中。
在 index.js
文件中配置解析服务器:
var S3Adapter = require('parse-server').S3Adapter;
var s3Adapter = new S3Adapter(
"AWS_KEY",
"AWS_SECRET_KEY",
"bucket-name",
{ directAccess: true }
);
并向 Parse Server init (var api = new ParseServer({..})
) 添加两行:
filesAdapter: s3Adapter,
fileKey: process.env.PARSE_FILE_KEY
类似于 Cliff 的 post,.S3Adapter 必须在 ()
之外
var S3Adapter = require('parse-server').S3Adapter;
然后在解析服务器初始化里面:
filesAdapter: new S3Adapter(
{
accessKey: process.env.S3_ACCESS_KEY || '',
secretKey: process.env.S3_SECRET_KEY || '',
bucket: process.env.S3_BUCKET || '',
directAccess: true
}
)
这在这种情况下有效。
我正在尝试设置 s3 文件适配器,但我不确定我是否得到了不正确的格式或其他内容。我已经关注了这个:
https://github.com/ParsePlatform/parse-server/wiki/Configuring-File-Adapters#configuring-s3adapter
完全正确的指导,但是当我取消注释下面的代码块并输入我的 aws 凭据然后将设置推回 Heroku 时,应用程序或仪表板将不再启动,说有应用程序错误:
//**** File Storage ****//
filesAdapter: new S3Adapter(
{
"xxxxxxxx",
"xxxxxxxx",
"xxxxxxxx",
{directAccess: true}
}
)
我会为 Heroku 设置如下:
确保在执行指南中描述的所有步骤后,您的政策看起来类似于:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME",
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}
现在将此策略应用于存储桶:select 您在 S3 控制台中的存储桶,点击右上角的“属性”按钮。展开“权限”部分,按“编辑存储桶策略”并将上面的 json 粘贴到文本字段中。
在 index.js
文件中配置解析服务器:
var S3Adapter = require('parse-server').S3Adapter;
var s3Adapter = new S3Adapter(
"AWS_KEY",
"AWS_SECRET_KEY",
"bucket-name",
{ directAccess: true }
);
并向 Parse Server init (var api = new ParseServer({..})
) 添加两行:
filesAdapter: s3Adapter,
fileKey: process.env.PARSE_FILE_KEY
类似于 Cliff 的 post,.S3Adapter 必须在 ()
之外var S3Adapter = require('parse-server').S3Adapter;
然后在解析服务器初始化里面:
filesAdapter: new S3Adapter(
{
accessKey: process.env.S3_ACCESS_KEY || '',
secretKey: process.env.S3_SECRET_KEY || '',
bucket: process.env.S3_BUCKET || '',
directAccess: true
}
)
这在这种情况下有效。