使用AWS SDK for Java和Java 1.8u60 +时出现以下异常.
com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 41C359C079CBAFCF)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182) ~[aws-java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770) ~[aws-java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489) ~[aws-java-sdk-core-1.10.10.jar:na]
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310) ~[aws-java-sdk-core-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3608) ~[aws-java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3561) ~[aws-java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:647) ~[aws-java-sdk-s3-1.10.10.jar:na]
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:632) ~[aws-java-sdk-s3-1.10.10.jar:na]
Run Code Online (Sandbox Code Playgroud) 我不知道我做错了什么,这就是我所拥有的:
HTML
<html>
<body>
<form method="POST" action="/upload" enctype="multipart/form-data">
<div class="field">
<label for="image">Image Upload</label>
<input type="file" name="image" id="image">
</div>
<input type="submit" class="btn" value="Save">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Port5000是我的Node.js服务器的端口.
在这个例子中我使用POST到/upload,并能正常工作.
module.exports = function(app, models) {
var fs = require('fs');
var AWS = require('aws-sdk');
var accessKeyId = process.env.AWS_ACCESS_KEY || "xxxxxx";
var secretAccessKey = process.env.AWS_SECRET_KEY || "+xxxxxx+B+xxxxxxx";
AWS.config.update({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey
});
var s3 = new AWS.S3();
app.post('/upload', function(req, res){
var params = {
Bucket: 'makersquest',
Key: …Run Code Online (Sandbox Code Playgroud) 我想使用promises在JavaScript中使用aws-sdk.
而不是默认的回调样式:
dynamodb.getItem(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
Run Code Online (Sandbox Code Playgroud)
我想要使用承诺风格:
dynamoDb.putItemAsync(params).then(function(data) {
console.log(data); // successful response
}).catch(function(error) {
console.log(err, err.stack); // an error occurred
});
Run Code Online (Sandbox Code Playgroud) 在赋予调用函数的所有权限之后.我的Lambda函数无法调用另一个函数.每次我有超时30 seconds timeout问题.看起来lambda无法获得另一个lambda函数
我的lambda属于同一地区,同一政策,同一安全组.两个lambda中的VPC也相同.现在唯一不同的是lambda函数
这是角色权利
1)创建 AWSLambdaExecute和AWSLambdaBasicExecutionRole
2)创建一个lambda函数,称为 Lambda_TEST
exports.handler = function(event, context) {
console.log('Lambda TEST Received event:', JSON.stringify(event, null, 2));
context.succeed(event);
};
Run Code Online (Sandbox Code Playgroud)
3)这是调用它的另一个函数.
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
var lambda = new AWS.Lambda();
exports.handler = function(event, context) {
var params = {
FunctionName: 'Lambda_TEST', // the lambda function we are going to invoke
InvocationType: 'RequestResponse',
LogType: 'Tail',
Payload: '{ "name" : "Arpit" }'
};
lambda.invoke(params, function(err, data) {
if (err) {
context.fail(err);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用KMS库使用AWS SDK.我想使用async和await而不是回调.
import AWS, { KMS } from "aws-sdk";
this.kms = new AWS.KMS();
const key = await this.kms.generateDataKey();
Run Code Online (Sandbox Code Playgroud)
但是,当包含在异步函数中时,这不起作用.
我怎么能在这里使用async并等待?
我在AWS Lambda上创建了一个非常基本的简单函数,用于接受表单提交.
部分功能是向特定的人发送电子邮件,非常简单.我正在尝试使用AWS SES来执行此操作.我已经设置了SES服务等,并验证了我希望发送到的帐户,并且能够发送测试电子邮件.一切都有效!!
现在,当我尝试在AWS Lambda中执行相同操作并使用aws sdk时,它不会发送电子邮件.我没有得到任何错误或错误.
以下是我用于AWS Lambda函数的代码.
有没有人有经验使用lambda和通过ses发送电子邮件,通过lambda函数?或者甚至只使用node.js aws sdk很可能会有所帮助.
var aws = require('aws-sdk');
var ses = new aws.SES({
accessKeyId: 'myAccessKey',
secretAccesskey: 'mySecretKey',
region: 'eu-west-1'
});
exports.handler = function(event, context) {
console.log("Incoming: ", event);
var output = querystring.parse(event);
var eParams = {
Destination: {
ToAddresses: ["toAddress@email.com"]
},
Message: {
Body: {
Text: {
Data: output.Key1
}
},
Subject: {
Data: "Ses Test Email"
}
},
Source: "mysource@source.com"
};
console.log('===SENDING EMAIL===');
var email = ses.sendEmail(eParams, function(err, data){
if(err) console.log(err); …Run Code Online (Sandbox Code Playgroud) 我一直在浏览AWS DynamoDB文档,并且在我的生命中,无法弄清楚batchGetItem()和Query()之间的核心区别是什么.两者都根据表和索引中的主键检索项目.唯一的区别在于检索到的项目的大小,但这似乎不是突破性的差异.两者都支持条件更新.
在什么情况下我应该使用batchGetItem而不是Query,反之亦然?
我已经完成了题为"以编程方式设置AWS区域1"的问题,但它没有提供我需要的所有答案.
Q1:我得到了SDKClientException-Unable to find a region via the region provider chain.我究竟做错了什么?还是我错过了一个错字.
public class CreateS3Bucket {
public static void main(String[] args) throws IOException {
BasicAWSCredentials creds = new BasicAWSCredentials("aws-access-key", "aws-secret-key");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(creds)).build();
Region region = Region.getRegion(Regions.US_EAST_1);
s3Client.setRegion(region);
try {
String bucketName = "testBucket" + UUID.randomUUID();
s3Client.createBucket(bucketName);
System.out.println("Bucket Created Successfully.");
} catch(AmazonServiceException awse) {
System.out.println("This means that your request made it AWS S3 but got rejected");
System.out.println("Error Message:" +awse.getMessage());
System.out.println("Error Message:" +awse.getErrorCode());
System.out.println("Error Message:" +awse.getErrorType());
System.out.println("Error Message:" …Run Code Online (Sandbox Code Playgroud) 我需要将iOS应用程序上的本地数据与DynamoDB表中的数据保持同步.DynamoDB表是大约2K行,只有一个散列键(id),以及以下属性:
id (UUID)lastModifiedAt (时间戳)namelatitudelongitude我目前正在扫描和过滤lastModifiedAt,其中lastModifiedAt大于应用程序的上次刷新日期,但我认为这将变得昂贵.
我能找到的最佳答案是添加一个全局二级索引lastModifiedAt作为范围,但GSI没有明显的哈希键.
当需要使用GSI按范围查询时,最佳做法是什么,但没有明显的散列键?或者,如果完全扫描是唯一的选择,是否有任何最佳做法来降低成本?
我将在t2.medium的容器服务中注册一个新任务.我看到了cpu参数等于0的示例.我试图找出它是什么以及我需要在这里为一个任务放多少.
我能够根据这个问题找到的所有内容:http ://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html? shortFooter = true http://docs.aws.amazon.com/AmazonECS/最新/ developerguide/example_task_definitions.html
aws-sdk ×10
node.js ×4
amazon-s3 ×3
aws-lambda ×3
java ×2
amazon-ec2 ×1
amazon-iam ×1
aws-kms ×1
bluebird ×1
file-upload ×1
jodatime ×1
multer-s3 ×1
promise ×1