我们如何使用AWS / S3?

时间:2016-11-28 03:17:43

标签: node.js amazon-web-services heroku amazon-s3 parse-server

我需要一些简单的示例来开始使用AWS / S3。

情况如下;我的iOS应用程序已从Parse.com转移到Parse-Server / Heroku。 一切正常,但我会在某些时候需要文件存储图像或声音文件。 我已经关注this并配置了一个S3Adapter。

我现在的问题是:“如何使用它?”

我想找到一些使用这个S3Adapter的示例代码,我刚配置它来保存并检索它。

1 个答案:

答案 0 :(得分:0)

如果您已经在解析服务器中配置了S3并提供了所有相关的详细信息,例如存储桶,密钥等,接下来要测试它并检查解析是否真的将文件存储在S3而不是GridStore上(这是默认值) )。

为了测试它,请执行以下步骤:

  1. 打开位于解析服务器项目根文件夹下的 index.js 文件,并检查您的文件适配器是否为S3。它应该看起来像这样(来自解析服务器维基):
  2. 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
        }
      ),
      ...
    });

    1. 接下来,您需要在iOS客户端保存一些文件。您需要创建一个新的PFFile并调用 saveInBackground 方法以保存此文件。在保存文件之前,解析服务器将检查您是否提供自定义文件适配器,如果您这样做将尝试使用它,否则它将转到默认值(MongoDB上的GridStore)。因此,您的iOS代码应如下所示:
    2. 目标c

          NSData * imageData = UIImagePNGRepresentation(image);
          PFFile * imageFile = [PFFile fileWithName: @"image.png"
            data: imageData
          ];
          [imageFile saveInBackground];

      <强>迅速

      let imageData = UIImagePNGRepresentation(image)
      let imageFile = PFFile(name:"image.png", data:imageData)
      imageFile.saveInBackground()

      保存文件后,您可以转到AWS中的Bucket并检查文件是否已添加到那里。

      希望它有所帮助。如果您需要更多信息,请告诉我。