如何使用AWS SDK Angular 2调用api?

时间:2018-07-09 20:02:08

标签: javascript angular api promise aws-sdk

我已经使用AWS创建了请求,并且想调用我的AWS SDk API API。 下面是我的整个代码。

var endpoint = new AWS.Endpoint(AWS.config.domain);
var request = new AWS.HttpRequest(endpoint, AWS.config.region);
 AWS.config.credentials = new AWS.Credentials('somevalue', 'somevalue', '');
var signer = new AWS.Signers.V4(request, 'es',true);
signer.addAuthorization(AWS.config.credentials, new Date());
request.body = JSON.stringify({
            'query': {
                my value
        });

现在我已经准备好对象请求了,我需要调用我的API。但是我不知道我需要使用哪个AWS或http方法来调用。我尝试了以下选项,但是没有成功。我也使用了request.on方法但它说不支持。

`var promise = request.promise();
    promise.then(
        function(body) {
          console.log("yes")
        },
        function(error) {
            console.log("no")
        }
    );

我还使用下面的代码进行调用,但失败并给出错误。

    var client = new AWS.HttpClient();
        client.handleRequest(request,null,function(response) {
            console.log(response.statusCode + ' ' + response.statusMessage);
            var responseBody = '';
            response.on('data', function (chunk) {
              responseBody += chunk;
            });
            response.on('end', function (chunk) {
              console.log('Response body: ' + responseBody);
            });
          }, function(error) {
            console.log('Error: ' + error);
          });

core.js:1448 ERROR TypeError: Cannot read property 'xhrAsync' of null
    at features.constructor.handleRequest (xhr.js:63)

1 个答案:

答案 0 :(得分:0)

您提供的代码段只是基于promise的语法的一个示例。要了解有关aws-sdk的更多信息,建议阅读他们的文档。

有关使用aws-sdk的另一个答案可以在这里找到:

How do I use AWS sdk definitions for TypeScript?

AWS在其包装上提供文档:

https://aws.amazon.com/documentation/sdk-for-javascript/

这是用法的一个很好的例子:

https://gist.github.com/ckimrie/96e4992036c559c1f046476d3fc16a7e

...显示相关代码段:

jta