【问题标题】:AWS for Java SDK create EBS Volume and write data to itAWS for Java SDK 创建 EBS 卷并向其写入数据
【发布时间】:2022-01-18 16:36:57
【问题描述】:

我必须通过 AWS Java SDK 以编程方式实现以下目标。

  1. 创建 EBS 卷
  2. 向其上传数据
  3. 此 EBS 卷不会附加到 EC2 实例,但 AWS lambda 会从中读取数据

我看到了我们可以创建 EBS 卷并附加到 EC2 实例 Amazon AWS creating EBS(Elastic block storage) through Java API 的示例

但它没有显示如何将数据写入 EBS 卷。

谁能帮我解决这个问题?

【问题讨论】:

    标签: amazon-web-services amazon-ebs


    【解决方案1】:

    EC2 客户端 API 有一个 method,可让您创建 EBS 卷。这是 V2 示例:

    import software.amazon.awssdk.regions.Region;
    import software.amazon.awssdk.services.ec2.Ec2Client;
    import software.amazon.awssdk.services.ec2.model.*;
    
    
    /**
     * To run this Java V2 code example, ensure that you have setup your development environment, including your credentials.
     *
     * For information, see this documentation topic:
     *
     * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
     * 
     */
    public class CreateVolume {
        public static void main(String[] args) {
    
          
            Region region = Region.US_EAST_1;
            Ec2Client ec2 = Ec2Client.builder()
                    .region(region)
                    .build();
    
            try {
                CreateVolumeRequest request = CreateVolumeRequest.builder()
                     .availabilityZone("us-east-1e")
                    .size(384)
                    .volumeType(VolumeType.GP3)
                    .build();
    
                CreateVolumeResponse response = ec2.createVolume(request);
                System.out.println("The ARN is "+response.outpostArn());
                ec2.close();
    
            } catch (Ec2Exception e) {
                System.err.println(e.awsErrorDetails().errorMessage());
                System.exit(1);
            }
        }
    }
    

    但是,Ec2Client 没有可让您将数据写入 EBS 卷的方法。有关存储数据的信息,请参阅此文档。

    https://angus.readthedocs.io/en/2014/amazon/setting-up-an-ebs-volume.html

    如果您有使用 Lambda 函数动态存储/读取数据的业务需求,为什么不使用 Amazon S3 存储桶。 S3 Java API 公开的方法使读取和写入数据变得非常容易。

    【讨论】:

    • 谢谢@smac2020。我们使用 EBS 是因为存储在 EBS 中的文件只不过是内存数据库文件中的文件。然后我们将使用 lambda 从 EBS 卷中创建的内存数据库中读取数据
    猜你喜欢
    • 2018-01-29
    • 2023-03-25
    • 2019-04-10
    • 2018-04-26
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2021-11-12
    相关资源
    最近更新 更多