标签: aws-sdk

AWS Java SDK - AWS身份验证需要有效的Date或x-amz-date标头

使用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)

java amazon-s3 jodatime amazon-web-services aws-sdk

49
推荐指数
2
解决办法
2万
查看次数

使用aws-sdk和Node/Express将简单文件上传到S3

我不知道我做错了什么,这就是我所拥有的:

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)

file-upload amazon-s3 node.js aws-sdk multer-s3

41
推荐指数
4
解决办法
6万
查看次数

如何宣传AWS JavaScript SDK?

我想使用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)

node.js promise amazon-dynamodb bluebird aws-sdk

41
推荐指数
6
解决办法
2万
查看次数

AWS lambda调用不调用另一个lambda函数 - Node.js

在赋予调用函数的所有权限之后.我的Lambda函数无法调用另一个函数.每次我有超时30 seconds timeout问题.看起来lambda无法获得另一个lambda函数

我的lambda属于同一地区,同一政策,同一安全组.两个lambda中的VPC也相同.现在唯一不同的是lambda函数

这是角色权利

1)创建 AWSLambdaExecuteAWSLambdaBasicExecutionRole

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)

amazon-web-services amazon-iam aws-sdk aws-lambda

41
推荐指数
2
解决办法
1万
查看次数

如何使用AWS SDK Javascript进行Async和Await

我正在使用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并等待?

node.js aws-sdk aws-kms

40
推荐指数
2
解决办法
2万
查看次数

在AWS Lambda函数中通过AWS SES发送电子邮件

我在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)

amazon-web-services node.js aws-sdk aws-lambda

37
推荐指数
1
解决办法
2万
查看次数

BatchGetItem和DynamoDB中的Query之间有什么区别?

我一直在浏览AWS DynamoDB文档,并且在我的生命中,无法弄清楚batchGetItem()和Query()之间的核心区别是什么.两者都根据表和索引中的主键检索项目.唯一的区别在于检索到的项目的大小,但这似乎不是突破性的差异.两者都支持条件更新.

在什么情况下我应该使用batchGetItem而不是Query,反之亦然?

amazon-web-services amazon-dynamodb aws-sdk

34
推荐指数
4
解决办法
2万
查看次数

AWS Java SDK - 无法通过区域提供程序链查找区域

我已经完成了题为"以编程方式设置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)

java amazon-s3 amazon-web-services aws-sdk aws-lambda

32
推荐指数
6
解决办法
4万
查看次数

如何按日期(范围键)查询DynamoDB,没有明显的哈希键?

我需要将iOS应用程序上的本地数据与DynamoDB表中的数据保持同步.DynamoDB表是大约2K行,只有一个散列键(id),以及以下属性:

  • id (UUID)
  • lastModifiedAt (时间戳)
  • name
  • latitude
  • longitude

我目前正在扫描和过滤lastModifiedAt,其中lastModifiedAt大于应用程序的上次刷新日期,但我认为这将变得昂贵.

我能找到的最佳答案是添加一个全局二级索引lastModifiedAt作为范围,但GSI没有明显的哈希键.

当需要使用GSI按范围查询时,最佳做法是什么,但没有明显的散列键?或者,如果完全扫描是唯一的选择,是否有任何最佳做法来降低成本?

amazon-web-services amazon-dynamodb aws-sdk

31
推荐指数
3
解决办法
2万
查看次数

'cpu'参数在aws容器服务中的含义是什么?

我将在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

amazon-ec2 amazon-web-services aws-sdk

29
推荐指数
1
解决办法
1万
查看次数