13
13

More than 3 years have passed since last update.

Lambda から S3 を使う (Node.js)

Last updated at Posted at 2020-03-04

バケットの一覧

list_buckets.js
'use strict'

const AWS = require('aws-sdk')
var s3 = new AWS.S3()

exports.handler = async (event) => {

console.log("*** start ***")

try {
       var data = await s3.listBuckets().promise()
       console.log(data.Buckets)
    } catch (ee) {
       console.log(ee)
    }

    const response = {
        statusCode: 200,
    }

    return response
}

バケット内のファイルの一覧

list_files.js
// ---------------------------------------------------------------

var AWS = require('aws-sdk')
var s3 = new AWS.S3()

exports.handler = async (event) => {
    console.log("*** start ***")

    const bucket = 'bucket01'
    var params = { Bucket: bucket }

try {
       var s3Objects = await s3.listObjectsV2(params).promise();
       console.log(s3Objects)
    } catch (ee) {
       console.log(ee)
    }

    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    }

    return response
}

// ---------------------------------------------------------------

ファイルの作成

s3_put.js
console.log('Loading function');

const aws = require('aws-sdk');


const s3 = new aws.S3();

exports.handler = async (event, context) => {

console.log ("*** start *** ")

    const bucket = 'bucket01'

    const key = 'Hello6.txt'


    var str_data = 'Good Morning\n'
str_data += 'Good Afternoon\n'
str_data += 'Good Evening\n'
str_data += 'Good Night\n'

console.log(str_data)
console.log ("REGION: " + process.env.AWS_REGION)

    const params = {
        Bucket: bucket,
        Key: key,
        Body: str_data,
    }

    try
    {   
   var data = await s3.putObject (params).promise()
   console.log(data)
       console.log("*** s3.putObject ***")

}
catch (error)
        {
        console.log ("*** error *** s3.putObject ***")
        console.log (error)
        }


 console.log ("*** end *** ")  
}
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13