Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Vue.js 如何将vue/flask应用程序集成到AWS S3,以便用户能够访问其S3映像_Vue.js_Amazon S3 - Fatal编程技术网

Vue.js 如何将vue/flask应用程序集成到AWS S3,以便用户能够访问其S3映像

Vue.js 如何将vue/flask应用程序集成到AWS S3,以便用户能够访问其S3映像,vue.js,amazon-s3,Vue.js,Amazon S3,我正在尝试从我的AWS S3 bucket中获取图像,并将它们显示给我的特定用户,而不让对象URL公开 AWS S3 我在AWS S3中创建了一个bucket“mybucket”管理员用户具有AmazonS3FullAccess,并且对象URL不是公共的 Flask/Python 我可以使用boto3.resource和boto3.client从烧瓶应用程序输入图像 例如,我可以通过以下方式发送图像: s3 = boto3.resource('s3', aws_access_key_id= ac

我正在尝试从我的AWS S3 bucket中获取图像,并将它们显示给我的特定用户,而不让对象URL公开

AWS S3
我在AWS S3中创建了一个bucket“mybucket”
管理员用户具有AmazonS3FullAccess,并且对象URL不是公共的

Flask/Python
我可以使用boto3.resource和boto3.client从烧瓶应用程序输入图像
例如,我可以通过以下方式发送图像:

s3 = boto3.resource('s3', aws_access_key_id= access_key_AWS,
              aws_secret_access_key = secret_access_key_AWS,
              config = Config(signature_version = 's3v4'))

data = open('imagepath/image.jpg','rb')
s3.Bucket('mybucket').put_object(Key='userfolder/image.jpg', Body=data)
Vue
如果URL是公共的,我可以使用对象URL访问vue应用程序中的图像

   <template>
    <div class="">
           <img :src= "image1" />
    </div>
   </template>

    <script>
    export default {
      data:function(){
        return {
          image1: "https://mybucket.s3.eu-north-1.amazonaws.com/userfolder/image.jpg",
        }
      }
    }
    </script> 

导出默认值{
数据:函数(){
返回{
图像1:“https://mybucket.s3.eu-north-1.amazonaws.com/userfolder/image.jpg",
}
}
}
问题

但我想对用户可以访问的内容设置限制,即我不想要公共对象URL 我希望用户只能访问“mybucket”bucket中的特定文件夹。我怎样才能做到这一点

如何对bucket中的文件夹设置限制,以便只有特定用户才能访问它(即,如何设置限制,以便在URL不是公共的情况下,用户可以通过对象URL访问图像)

用户是否需要通过服务器登录AWS才能访问图像,还是可以通过Vue和对象URL完成所有操作

对于我的应用程序中的每个用户,应用程序是否需要有一个AWS IAM用户? 这是因为不同的用户应该只能访问他们的特定文件夹,我不希望其他任何人访问他们(无论是从应用程序还是在浏览器中输入对象URL)