[英]Amazon Storage ec2 direct access like S3
我是亚马逊新手,对亚马逊 ec2 感到困惑,有几个查询我无法在谷歌上找到 Q:我们是否可以直接存储图像(由亚马逊提供的 SDK,如 S3,而不是通过使用 rest api's) 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 上保存文件,那么您可以这样做。 检查DownloadTask
和Transfer*
类以从 Android 下载/上传 S3 上的文件。 参考 Android SDK 中的 S3 类如下
感谢您的帮助,最后我找到了支持亚马逊 s3 所有区域的文档,即https://docs.aws.amazon.com/general/latest/gr/s3.html
Rest 简单
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!!)
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.