AWS - 保存 json 文件到 S3
基于aws 的程序,如果有些数据我们并不经常用到,或者并没有导出到报表的需求,或者并不是业务数据,通常我们存储在 S3, 而不是存储到数据库 (例如 Dynamo)
存储数据到 S3 方法如下:
背景:AWS SDK + NodeJS + Serverless Lambda
1. lambda 中引用 aws sdk
const AWS = require('aws-sdk')
s3: new AWS.S3(),
2. 在lambda 保存数据到 S3
  function save () {
    const random = deps.crypto.randomBytes(24).toString('hex')  //产生位移标识
    const opts = {
      ACL: 'public-read',   //设置资源权限
      Key: util.format('%s/rejected-registrations/%s/%s.json', deps.stage, params.accountId, random),   //资源key
      Body: JSON.stringify(params.customer),  //自问文件类型为json
      CacheControl: 'max-age=0'
    }
  const defaultBucket = 'test-internal-' + (deps.stage === 'master' ? 'master' : 'test')  //根据业务获得bucket名称
  opts .Bucket = opts .Bucket || defaultBucket
  return s3.putObject(opts ).promise()  //调用aws sdk s3 API, 保存数据到S3
  }
3. 在lambda 的 serverless.yml 文件中添加本 lambda 对 S3 的读写权限
                    
                
                
            
        
浙公网安备 33010602011771号