AWS 使用总结及部分服务学习记录
前言
使用了一段AWS,发现国内文档较少。AWS官网的文档虽然多,但是找起来并不方便,且机翻的中文有的读起来也并不通顺,所以在这块做个总结并记录。
我主要使用JAVA语言,总结也以JAVA为主。
重要::虽然我很菜,写的也不够好,但我不接受任何批评,本文仅供有需要的人参考及自己记录用。
文档链接
1. github上aws java相关的示例代码地址(dynamodb、s3等的例子都有):
https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code
2. AWS 适用于 JAVA 开发的工具包(如何配置IDEA、JAVA API等都有):
https://aws.amazon.com/cn/sdk-for-java/
记一下我本地下载的文件代码位置:D:\ayo\tools\AWS
3. github上aws iot shadow java相关的示例代码:
https://github.com/aws/aws-iot-device-sdk-java-v2/tree/main/samples
配置相关
1. 本地电脑credentials文件要配置AWS aws_access_key_id和aws_secret_key_id
credentials文件位置在:C:\Users\用户\.aws\credentials
aws_access_key_id和aws_secret_key_id 在创建IAM用户时,会自动生成,忘记可重新生成,但代码中配置的地方需要对应修改
2. S3存储桶公开访问策略
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws-cn:s3:::bucket-s3", "arn:aws-cn:s3:::bucket-s3/*" ] } ] }
CORS配置
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "HEAD", "GET", "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "ETag", "x-amz-meta-custom-header" ] } ]
3. dynamodb无法实现如下查询
withKeyConditionExpression 针对分区键、排序键的查询条件中,不支持使用contains模糊查询
withFilterExpression 针对其他字段的过滤查询条件,结合limit使用,会先查询,后分页,导致数据变少。
创建表之后,可在容量,预配置容量中将表的读取和写入改为1,来节省费用。