我们如何使用AWS/S3?
How do we use AWS/S3?
我需要一些简单的示例来开始 AWS/S3 用法。
情况是这样的;我的 iOS 应用程序已从 Parse.com 转移到 Parse-Server / Heroku。
一切正常,但有时我需要存储图像或声音文件。
我已经关注 this 并配置了一个 S3Adapter。
我现在的问题是:"How to use it?"
我想找到一些示例代码,使用我刚刚配置的这个 S3Adapter 来保存和检索它。
如果您已经在解析服务器中配置了 S3 并提供了所有相关详细信息,如存储桶、密钥等。接下来就是测试它并检查解析是否真的将您的文件存储在 S3 上而不是在 GridStore 上(这是默认值)。
为了测试它,请完成以下步骤:
- 打开位于解析服务器项目根文件夹下的 index.js 文件,并检查文件适配器是否为 S3。它应该看起来像这样(来自解析服务器 wiki):
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
appId: process.env.APP_ID || 'APPLICATION_ID',
masterKey: process.env.MASTER_KEY || 'MASTER_KEY',
...
filesAdapter: new S3Adapter(
"S3_ACCESS_KEY",
"S3_SECRET_KEY",
"S3_BUCKET", {
directAccess: true
}
),
...
});
- 接下来您需要在 iOS 客户端保存一些文件。您需要创建一个新的 PFFile 并调用 saveInBackground 方法来保存该文件。在保存文件之前,解析服务器将检查您是否提供了自定义文件适配器,如果您提供了,它将尝试使用它,如果没有,它将转到默认值(MongoDB 上的 GridStore)。因此,您的 iOS 代码应如下所示:
objective c
NSData * imageData = UIImagePNGRepresentation(image);
PFFile * imageFile = [PFFile fileWithName: @"image.png"
data: imageData
];
[imageFile saveInBackground];
swift
let imageData = UIImagePNGRepresentation(image)
let imageFile = PFFile(name:"image.png", data:imageData)
imageFile.saveInBackground()
保存文件后,您可以转到AWS 中的Bucket 并检查文件是否已添加到那里。
希望对您有所帮助。如果您需要更多信息,请告诉我。
我需要一些简单的示例来开始 AWS/S3 用法。
情况是这样的;我的 iOS 应用程序已从 Parse.com 转移到 Parse-Server / Heroku。 一切正常,但有时我需要存储图像或声音文件。 我已经关注 this 并配置了一个 S3Adapter。
我现在的问题是:"How to use it?"
我想找到一些示例代码,使用我刚刚配置的这个 S3Adapter 来保存和检索它。
如果您已经在解析服务器中配置了 S3 并提供了所有相关详细信息,如存储桶、密钥等。接下来就是测试它并检查解析是否真的将您的文件存储在 S3 上而不是在 GridStore 上(这是默认值)。
为了测试它,请完成以下步骤:
- 打开位于解析服务器项目根文件夹下的 index.js 文件,并检查文件适配器是否为 S3。它应该看起来像这样(来自解析服务器 wiki):
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
appId: process.env.APP_ID || 'APPLICATION_ID',
masterKey: process.env.MASTER_KEY || 'MASTER_KEY',
...
filesAdapter: new S3Adapter(
"S3_ACCESS_KEY",
"S3_SECRET_KEY",
"S3_BUCKET", {
directAccess: true
}
),
...
});
- 接下来您需要在 iOS 客户端保存一些文件。您需要创建一个新的 PFFile 并调用 saveInBackground 方法来保存该文件。在保存文件之前,解析服务器将检查您是否提供了自定义文件适配器,如果您提供了,它将尝试使用它,如果没有,它将转到默认值(MongoDB 上的 GridStore)。因此,您的 iOS 代码应如下所示:
objective c
NSData * imageData = UIImagePNGRepresentation(image);
PFFile * imageFile = [PFFile fileWithName: @"image.png"
data: imageData
];
[imageFile saveInBackground];
swift
let imageData = UIImagePNGRepresentation(image)
let imageFile = PFFile(name:"image.png", data:imageData)
imageFile.saveInBackground()
保存文件后,您可以转到AWS 中的Bucket 并检查文件是否已添加到那里。
希望对您有所帮助。如果您需要更多信息,请告诉我。