今天接了个新项目,使用的AWS SDK for Java。例如:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>${aws.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
......
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
</dependency>
......
问题就在于 使用aws的sdk需要获取aws凭证(aws credentials),也就是说你要有一个亚马逊的账号,并且购买他的套餐才可以使用。不过对于新用户是有12个月的免费套餐可选的。以下是教程。
AWS SDK for Java 的凭证获取及配置
本教程完全参照aws官网(中文版地址):https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/welcome.html
不过新手对于这个教程 还是会一头雾水,在此整理一下:
一、注册 AWS账号
-
打开 https://aws.amazon.com/ 并单击 Sign Up。
-
按照屏幕上的说明进行操作。这一步需要填写一张信用卡,来预授权对超过免费套餐以外的费用的扣费,比如超过12个月后的续费,如果不继续使用请记住提前关闭。之后注册过程中,您会接到一个电话,需要您使用电话按键输入 PIN 码。
二、创建 IAM 用户
-
转到 IAM 控制台 (您可能需要首先登录 AWS)。
-
单击侧边栏中的 Users (用户)以查看您的 IAM 用户。
-
如果您未设置任何 IAM 用户,则单击 Create New Users(添加用户) 创建一个用户(按照提示操作)。
-
在列表中选择您将用来访问 AWS 的 IAM 用户。
-
打开 Security Credentials 选项卡,然后单击 Create Access Key。
注意:对于任何给定的 IAM 用户最多可以有两个活动访问密钥。如果您的 IAM 用户已经有两个访问密钥,您将需要先删除其中的一个访问密钥,然后再创建新密钥。
-
在所得到的对话框中,单击 Download Credentials 按钮以将凭证文件下载到您的计算机上,或者单击 Show User Security Credentials 以查看 IAM 用户的访问密钥 ID 和秘密访问密钥 (您可以复制和粘贴)。
注意:在关闭该对话框之后,就无法获取密码访问密钥了。但是,您可以删除与它相关联的访问密钥 ID 并创建新密钥。
三、设置 AWS 凭证
虽然可通过大量方式设置将由 AWS SDK for Java 使用的凭证,但建议使用以下方式:
-
在本地系统上的 AWS 凭证配置文件中设置凭证,该配置文件位于:
-
Linux, macOS, or Unix 中的
~/.aws/credentials
-
Windows 中的
C:\Users\
USERNAME
\.aws\credentials
-
此文件应包含以下格式的行:
-
[default] aws_access_key_id = your_access_key_id aws_secret_access_key = your_secret_access_key
用您自己的 AWS 凭证值替换值 your_access_key_id 和 your_secret_access_key。
-
设置
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
环境变量。要在 Linux, macOS, or Unix 上设置这些变量,请使用
export
:export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key
要在 Windows 上设置这些变量,请使用
set
:set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key
在使用这些方法之一来设置 AWS 凭证后,AWS SDK for Java 将使用默认凭证提供程序链自动加载这些凭证。有关在 Java 应用程序中使用 AWS 凭证的其他信息,请参阅使用 AWS 凭证。
四、设置 AWS 区域
您应使用适用于 Java 的 AWS 开发工具包设置将用于访问 AWS 服务会的默认 AWS 区域。要获得最佳网络性能,请选择在地理位置上靠近您 (或您的客户) 的区域。要查看每个服务的区域列表,请参阅 Amazon Web Services General Reference 中的区域和终端节点。
注意
如果您未选择区域,则默认情况下将使用 us-east-1。
您可以使用类似的方法设置凭证以设置默认 AWS 区域:
-
在本地系统上的 AWS Config 文件中设置 AWS 区域,该文件位于:
此文件应包含以下格式的行:
-
Linux, macOS, or Unix 中的
~/.aws/config
-
Windows 中的
C:\Users\USERNAME\.aws\config
-
-
[default] region = your_aws_region
用所需的 AWS 区域 (例如“us-west-2”) 替换 your_aws_region。
-
设置
AWS_REGION
环境变量。在 Linux, macOS, or Unix 上,请使用
export
: -
export AWS_REGION=your_aws_region
在 Windows 上,请使用 set
:
-
set AWS_REGION=your_aws_region
其中,your_aws_region 是所需的 AWS 区域名称。
好了,凭证搞定了接下来配置maven依赖去使用就行了。
使用可以参考:https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/basics.html
DynamoDB的使用:https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/DynamoDBLocal.html
如果先安装aws cli:
五、AWS 命令行界面 (CLI) 安装
参考官方文档:https://amazonaws-china.com/cn/cli/
1、首先需要 安装pip参考:https://pip.pypa.io/en/latest/installing/
2、安装awscli
pip install awscli
3、期间遇到的报错:
报错1:
matplotlib 1.3.1 requires nose, which is not installed.
matplotlib 1.3.1 requires tornado, which is not installed.
解决:
sudo easy_install nose
sudo easy_install tornado
参考:https://www.jianshu.com/p/fc8134805fb3
报错2:Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决:sudo pip install six --upgrade --ignore-installed six
参考:https://www.cnblogs.com/qq952693358/p/9425544.html