Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaSDK(AWS)以编程方式将S3作为文件系统连接到EC2 我试图使用JavaSDK在EC2机器上创建一个本地文件系统,它实际上是一个S3资源_Java_Amazon Web Services_Amazon S3_Amazon Ec2_Ec2 Api Tools - Fatal编程技术网

使用JavaSDK(AWS)以编程方式将S3作为文件系统连接到EC2 我试图使用JavaSDK在EC2机器上创建一个本地文件系统,它实际上是一个S3资源

使用JavaSDK(AWS)以编程方式将S3作为文件系统连接到EC2 我试图使用JavaSDK在EC2机器上创建一个本地文件系统,它实际上是一个S3资源,java,amazon-web-services,amazon-s3,amazon-ec2,ec2-api-tools,Java,Amazon Web Services,Amazon S3,Amazon Ec2,Ec2 Api Tools,我已经编写了启动EC2机器、创建安全组、密钥等的代码,但现在想在我使用JavaSDK创建的EC2机器上安装S3。网上似乎没有详细的解决方案 当有文件系统提供程序时s3fs基于fuse构建。尝试将其装载到文件系统并不总是一个好主意。相反,您应该使用命令行工具s3cmd,或者将对s3的访问内置到文件系统中 我建议不要使用它的原因是s3不是块设备,而文件系统的其余部分是块设备。s3上的所有内容都被视为一个完整的对象。无法读取或写入对象块 如果您对挂载所做的全部工作都是将文件整体复制到s3或从s3复制文

我已经编写了启动EC2机器、创建安全组、密钥等的代码,但现在想在我使用JavaSDK创建的EC2机器上安装S3。网上似乎没有详细的解决方案

当有文件系统提供程序时
s3fs
基于fuse构建。尝试将其装载到文件系统并不总是一个好主意。相反,您应该使用命令行工具
s3cmd
,或者将对s3的访问内置到文件系统中

我建议不要使用它的原因是s3不是块设备,而文件系统的其余部分是块设备。s3上的所有内容都被视为一个完整的对象。无法读取或写入对象块


如果您对挂载所做的全部工作都是将文件整体复制到s3或从s3复制文件,那么文件系统挂载可能工作得相当好。但是您不能运行任何期望对该挂载上的文件进行块级访问的操作。

首先,您应该使用预先安装的s3fs准备您自己的AMI。看见EC2实例应该从这个自定义AMI启动

其次,在实例启动并运行之后,您应该立即建立到它的SSH连接并运行它

/usr/bin/s3fs bucketname /mnt/mountpoint
我建议使用