AWS - 保存 json 文件到 S3

时间:2020-02-16 20:07:39   收藏:0   阅读:145

基于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 的读写权限
技术分享图片

 

 

 
  
 

 

原文:https://www.cnblogs.com/crdanding/p/12317580.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!