草庐IT

S3NativeFileSystem

全部标签

java - 从不同于网络(通过 Amazon S3)的本地文件读取 InputStream 对象有何不同?

我不认为从本地文件读取的输入流对象与从网络源(在本例中为AmazonS3)读取的输入流对象之间没有区别,所以希望有人能启发我。这些程序在运行Centos6.3的虚拟机上运行。两种情况下的测试文件都是10MB。本地文件代码:InputStreamis=newFileInputStream("/home/anyuser/test.jpg");intread=0;intbuf_size=1024*1024*2;byte[]buf=newbyte[buf_size];ByteArrayOutputStreambaos=newByteArrayOutputStream(buf_size);lon

处理大型文件上传到S3的推荐方法是什么?

我正在使用AWSSDKforRuby将大型文件从用户上传到S3。该服务器是一个Sinatra应用程序,其邮政/图像端点接受Multipart/form-data。用户上传,我经历了明显的延迟。这是可以预期的,因为它是同步向S3请求。我想使用sidekiq之类的东西将其移至背景作业,但我不确定我喜欢该解决方案。我在线阅读,有些人正在向客户端宣传至S3的直接上传。一些人甚至称其为“最佳实践”。我犹豫要这样做,原因有几个:我的客户端代码将与我的云提供商息息相关。我喜欢AWS(很棒的经历),但我喜欢保持某种云敏捷。我不希望我的手机和网络应用不得不知道我的AWS设置的详细信息。如果我选择以后离开S3(不

java - 无法通过 SSL 使用 Amazon S3 API?

我正在尝试使用AmazonS3API来加密和上传文件。publicclassAmazonS3{StringKmsId="my_id_comes_here";privateTransferManagergetTransferManager(){AWSCredentialsawsCredentials=newProfileCredentialsProvider().getCredentials();KMSEncryptionMaterialsProvidermaterialProvider=newKMSEncryptionMaterialsProvider(KmsId);AmazonS3E

java - 是否可以在不写入磁盘的情况下将此字符串 gzip 并上传到 Amazon S3?

我知道这可能使用Streams是可能的,但我不确定语法是否正确。我想将一个字符串传递给Save方法,让它gzip字符串并将其上传到AmazonS3,而无需写入磁盘。当前的方法在两者之间读取/写入磁盘的效率低下。S3PutObjectRequest有一个带有InputStream输入作为选项的构造函数。importjava.io.*;importjava.util.zip.GZIPOutputStream;importcom.amazonaws.auth.PropertiesCredentials;importcom.amazonaws.services.s3.AmazonS3;impo

java - 在 Java SDK Amazon S3 中配置路径样式

我正在使用AWSJavaSDK由Amazon提供,用于与S3服务交互。似乎默认情况下,SDK对存储桶使用虚拟主机样式(即存储桶由bucket-name.s3.amazonaws.com引用。示例:PUT/HTTP/1.1Host:a-given-bucket.s3.amazonaws.comDate:Tue,26Jun201210:39:40GMTContent-Type:application/x-www-form-urlencoded;charset=utf-8Content-Length:0但是,我需要在我的应用中使用path-style,如下:PUT/a-given-bucke

java - 来自本地文件的 MD5 和来自 S3 的 MD5 (eTag) 不相同

我得到了本地文件的MD5,但它与AmazonS3中“相同”文件的MD5(eTag)不同。我想要实现的是弄清楚我在S3中拥有的最新文件是否与我在本地拥有的文件相同。如果我不能比较MD5,那我该怎么办?从本地文件生成MD5(截断代码):MessageDigestmd=MessageDigest.getInstance("MD5");byte[]md5=Files.getDigest(localFile,md);Stringhashtext=DigestUtils.md5Hex(md5);从S3(截断代码)中检索MD5(eTag):ObjectListingobjectListing=s3.

java - 是否可以创建具有空区域的 AWS s3 存储桶

我看到一个Java堆栈跟踪错误,暗示存在一个带有空区域的S3存储桶。这可能吗?我尝试重新创建错误和空区域s3存储桶,但没有成功。com.amazonaws.services.s3.model.AmazonS3Exception:Thebucketisinthisregion:null.Pleaseusethisregiontoretrytherequest(Service:AmazonS3;StatusCode:301;ErrorCode:PermanentRedirect;RequestID:EA0959BA1B1D56A7)atcom.amazonaws.http.AmazonHt

java - 如何将某个 S3 文件标记为公开

如何通过网络服务API将某个S3文件标记为公开。 最佳答案 使用方法setCannedAcl(CannedAccessControlList.PublicRead)更改访问控制权限。阅读java文档了解详细信息here示例代码:BasicAWSCredentialsbasicAWSCredentials=newBasicAWSCredentials(ACCESS_KEY,SECRET_KEY);AmazonS3s3=newAmazonS3Client(basicAWSCredentials);PutObjectRequestputO

java - 使用 AWS Lambda 从 S3 上的目录创建 Tar 存档

我需要提取存储在s3上的一堆zip文件并将它们添加到tar存档并将该存档存储在s3上。zip文件的总和可能会大于lambda函数允许的512mb本地存储。我有一个部分灵魂,从s3获取对象,提取它们并将它们放入s3对象中,而不使用lambda本地存储。提取对象ThreadpublicclassExtractObjectimplementsRunnable{privateStringobjectName;privateStringuuid;privatefinalbyte[]buffer=newbyte[1024];publicExtractAdvert(Stringname,String

Spark与云存储的集成:S3、Azure Blob Storage

在现代数据处理中,云存储服务如AmazonS3和AzureBlobStorage已成为存储和管理数据的热门选择。与此同时,ApacheSpark作为大数据处理框架也备受欢迎。本文将深入探讨如何在Spark中集成云存储服务,并演示如何与S3和AzureBlobStorage进行互操作。将提供丰富的示例代码,以帮助大家更好地理解这一集成过程。为什么使用云存储?云存储服务如S3和AzureBlobStorage具有以下优势:可伸缩性:云存储可以轻松扩展以适应不断增长的数据需求,无需昂贵的硬件投资。持久性:云存储提供了高度持久性的数据存储,以保护数据免受硬件故障或数据丢失的影响。全球性:云存储服务通常