如今,许多应用程序为用户提供了上载图像,化身,音频或视频文件等的权限。大多数开发人员选择将这些数据存储在其他云服务上。
While working on one of my personal projects - Tabata - Fitness App, I’ve developed an administrative tool for managing the exercises data in the database. I’ve done it using a sweet combination of Spring Boot and Vaadin framework. That’s the final result:
To upload the video of exercises directly to AWS S3 without the use of AWS console, but with my own administrative panel, I’ve developed a custom component based on Vaadin’s official upload component.
这是我的操作方式。
这篇博客文章包括两个部分:
- Configure Amazon service for granting access to only one app to the specific S3 bucket.
- Java code to programmatically upload a file to S3 bucket.
Amazon services configuration
1. Create AWS account
You can create it here
2. Create S3 bucket
在“存储”部分的“服务”菜单中,找到S3:
按创建桶按钮。 在出现的对话框窗口中,输入您的存储桶名称,选择离您最近(或您的潜在访问者)的区域,然后按创建。
3. Create IAM user
出于安全原因,我们将创建一个新的IAM用户(将成为我们未来的应用程序),并仅授予该应用程序访问创建的存储桶的权限。
在“服务”菜单中,选择“ IAM”,然后在“访问管理”部分下选择“用户”。 按添加用户。
输入用户名并检查程序访问在访问类型部分。
按下一页:权限。 然后点击直接附加现有策略和建立政策。
Chose JSON tab, then copy and paste a JSON object from the official AWS docs. Don’t forget to change text placeholder in the example policy with your own bucket name.
按审查政策。 输入策略名称,描述(可选),然后按建立政策。
回到添加用户标签在浏览器中,刷新页面并在策略列表中找到我们创建的策略。
按下一页:标签,下一篇:复习最后创建用户。 现在,您可以看到该用户的凭据。 下载.csv文件,以免丢失凭据,因为我们很快就会需要它们。
我们的AWS配置完成。 让我们开始编码吧!