类似S3的亚马逊存储ec2直接访问



我是亚马逊的新手,对亚马逊ec2感到困惑,在谷歌上找不到一些查询Q: 我们是否可以直接存储图像(通过亚马逊提供的SDK,如S3,而不是通过消费rest api(Q: ec2是否仅用于后备服务

我已经检查了android aws,他们有ec2的sdk,但我无法弄清楚,如何使用它直接访问ec2实例并做一些存储工作。

SDK链接

https://github.com/aws-amplify/aws-sdk-android

我不使用s3的原因是,s3存储在非洲地区不可用,这是必须的要求,我们将不胜感激

s3可用于非洲地区,请查看下面的评论,我已经包含了列出所有支持地区的链接

S3不是服务器,只是一个Object store。有点像硬件,一次可以存储一个文件。您可以使用S3来保存任何类型的文件(不可扩展的文件(。EC2只是一个服务器/机器,可以用来做任何你喜欢的事情

如果你只想使用Android SDK在S3上保存文件,那么你可以这样做。检查DownloadTaskTransfer*类以从Android下载/上传S3上的文件。Android SDK中S3类的参考位于下方

https://github.com/aws-amplify/aws-sdk-android/tree/main/aws-android-sdk-s3/src/main/java/com/amazonaws/mobileconnectors/s3/transferutility

感谢您的帮助,我终于找到了支持amazons3所有地区的文档https://docs.aws.amazon.com/general/latest/gr/s3.html

休息是简单的

val amazonS3Client = getAmazonS3Client()
var uploadObserver = TransferUtility.builder()
.defaultBucket("enter_your_s3_bucket_name")
.context(ApplicationCOntext)
.s3Client(amazonS3Client).build()
uploadObserver.upload("enter_your_s3_bucket_name",
"" + "fileName" + ".mp4",
File(""),
CannedAccessControlList.PublicRead).setTransferListener(object : TransferListener {
override fun onStateChanged(id: Int, state: TransferState?) {
if (state == TransferState.COMPLETED) {
success.invoke()
}
}
override fun onProgressChanged(id: Int, bytesCurrent: Long, bytesTotal: Long) {
}
override fun onError(id: Int, ex: Exception?) {
exception?.invoke(ex!!)
}
})

最新更新