【问题标题】:Amazon Storage ec2 direct access like S3Amazon Storage ec2 像 S3 一样直接访问
【发布时间】:2022-01-28 19:28:22
【问题描述】:

我是 Amazon 新手,对 Amazon ec2 感到困惑,我在 google 上找不到一些查询 问:我们可以直接存储图像(通过亚马逊提供的SDK,如S3,而不是通过使用rest api's) 问:ec2 是否纯粹用于后端服务?

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

SDK 链接

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

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

s3 适用于非洲地区,请查看评论下方,我已包含列出所有受支持地区的链接

【问题讨论】:

  • 你是说他们在非洲有EC2,但没有S3?如果您只是想要云存储,那么也许可以考虑使用 Onedrive?
  • S3 在非洲可用。因此,不清楚“非洲没有 S3 存储服务器”是什么意思?什么“服务器”?
  • 我无法选择非洲(开普敦)地区,似乎所有地区都已禁用,在控制台中选择的地区是全球

标签: java android amazon-web-services amazon-ec2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    感谢您的帮助,我终于找到了支持亚马逊 s3 的所有区域的文档,即 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!!)
                }
            })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 2016-10-19
      • 2011-10-21
      • 1970-01-01
      • 2014-07-28
      • 2014-04-11
      • 2020-11-02
      相关资源
      最近更新 更多