在Lambda函数中使用AWS Elastic Block Store(EBS)和Elastic File System(EFS)两者之间有显著的区别。以下是一些可以用于选择哪一个最适合你特定的情境的因素。
下面是使用Node.js的Lambda函数示例:
使用EBS:
// Load the AWS SDK
var AWS = require('aws-sdk');
exports.handler = async (event, context) => {
// Create EBS instance(s) with size of 16 GB
var ebsVolumeParams = {
AvailabilityZone: 'us-west-2a',
Size: 16,
VolumeType: 'gp2'
};
var ec2 = new AWS.EC2();
var ebsVolume = await ec2.createVolume(ebsVolumeParams).promise();
console.log(ebsVolume);
};
使用EFS:
var AWS = require('aws-sdk');
const fs = require('fs');
exports.handler = async (event, context) => {
// Set the region
var region = 'us-west-2';
var fsxOptions = {
FileSystemId: 'fs-xxxxxxxx',
Region: region
}
var efs = new AWS.EFS({
apiVersion: '2015-02-01',
region: region
});
// Mount file system through EC2 instance
var ec2 = new AWS.EC2({ apiVersion: '2016-11-15', region: region });
var fsxMountPath = '/mnt/' + fsxOptions.FileSystemId;
var