标签: aws-api-gateway

AWS API网关签名

我正在尝试向亚马逊网关签署我的请求.但每当我尝试发送POST请求时,它都会告诉我我的签名已过期.任何想法将不胜感激.

.net c# httpwebrequest amazon-web-services aws-api-gateway

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

获取API网关传递的Lambda(Nodejs)中的url参数

我已经设置了这样的API网关端点:

GET文件/ {filename}

因此,我会这样称呼它:https:// mydomain/api/files/somefile

我还有一个带有Nodejs的lambda函数,它是空的:

exports.handler = function(event,context){

//在这里检索名为'filename'的param并用它做一些事情

};

如何在GET请求中传递参数?我检查了事件和上下文对象,但我找不到任何有用的东西.

谢谢!!

lambda amazon-web-services node.js aws-lambda aws-api-gateway

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

API Gateway + Lambda下载CSV文件

我想使用API​​ Gateway + Lambda做一个csv下载链接。但是存在一个问题,lambda总是返回JSON.stringify。有办法解决吗?

s-function.json

"responses": {
    "default": {
      "statusCode": "200",
      "responseParameters": {
        "method.response.header.Content-disposition": "'attachment; filename=testing.csv'"
      },
      "responseTemplates": {
        "text/csv": ""
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

handler.js

var json2csv = require('json2csv');
module.exports.handler = function(event, context, cb) {
   var fields = ['car', 'price', 'color'];
   var myCars = [
    {
      "car": "Audi",
      "price": 40000,
      "color": "blue"
    }, {
      "car": "BMW",
      "price": 35000,
      "color": "black"
    }, {
      "car": "Porsche",
      "price": 60000,
      "color": "green"
    }
   ]; 
    var csv = json2csv({ data: myCars, fields: fields });
    return …
Run Code Online (Sandbox Code Playgroud)

csv aws-lambda aws-api-gateway serverless-framework

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

nginx和Aws API网关之间的通信

我有一个用例,我必须从EC2上托管的nginx调用AWS API Gateway.由于API网关默认使用SSL,我试图使用SSL设置nginx上游,但无法成功配置它.

我收到以下错误:

SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream, client: yy.yy.yy.yy, server: api-gateway.cloud, request: "GET /devint/echo HTTP/1.1", upstream: "https://zz.zz.zz.zz:443/devint/echo", host: "xx.xx.xx.xx:8000"
Run Code Online (Sandbox Code Playgroud)

我应该如何解决它.

nginx amazon-ec2 aws-api-gateway

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

AWS API网关自定义授权程序lambda

我试图通过AWS API Gateway的自定义授权程序来授权API调用,
这基本上是一个自定义的lambda函数,它接受以下格式的以下标题 -

{
    "authorizationToken": "0c34ba00bde34200b383abe22bcfef96",
    "methodArn": "arn:aws:execute-api:ap-southeast-1:855399270504:z6t3cv0z4m/null/GET/",
    "type": "TOKEN"
}
Run Code Online (Sandbox Code Playgroud)

并期望以下格式的回复 -

{
  "principalId": "xxxxxxx", // the principal user identification associated with the token send by the client
  "policyDocument": { // example policy shown below, but this value is any valid policy
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "execute-api:Invoke"
        ],
        "Resource": [
          "arn:aws:execute-api:us-east-1:xxxxxxxxxxxx:xxxxxxxx:/test/*/mydemoresource/*"
        ]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我能够使用authorizationToken执行内部逻辑并验证函数是否应该在"允许"或"拒绝"策略中响应,
但是当我尝试从控制台测试授权器时,我收到解析错误,
以下是我的请求日志 -

Execution log for request test-request
Thu Jun 29 11:48:10 UTC 2017 …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services amazon-iam aws-lambda aws-api-gateway

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

如何检查HTTP请求是否源自AWS API Gateway?

我使用AWS API Gateway将HTTP查询代理到我的服务.我的服务如何检查HTTP请求是否来自AWS API Gateway?

amazon-web-services aws-api-gateway

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

通过CLI在AWS API网关中添加Stage变量

通过aws cli执行此操作的正确语法是什么?

aws apigateway update-stage --rest-api-id $api_id --stage-name 'test_stage' --patch-operations op="add",path=/variables,value="{server:8.8.8.8}"
Run Code Online (Sandbox Code Playgroud)

我无法value=".."正确处理最后一部分。该文档对我不是很有帮助。

aws-cli aws-api-gateway

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

通过CloudWatch计划API网关请求?

我有一个API(通过API网关),其中每个资源的方法都通过lambda代理集成路由到单个lambda函数,其中每个请求在内部进行处理。

如何通过CloudWatch事件自动调度对一种资源的方法的计划调用?优选地,这将不能通过直接调用lambda函数来完成,而是允许指定的(恒定)输入。

amazon-web-services amazon-cloudwatch aws-api-gateway

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

Lambda和DynamoDB上的无服务器CMS

我正在考虑启动一个开源项目,以开发基于AWS技术的无服务器CMS。我想将DynamoDB作为存储数据的后端,而不是使用简单的markdown CMS。我想从这里的社区中了解这个想法是否合理并且听起来不错,因为我在AWS方面有一定的经验,因此对它并不完全坚定并寻求帮助。

我将通过Lambda在ASP.NET MVC Core中开发CMS。此CMS将具有一个外部API,该外部API将是ASP.NET MVC Core Web API。

我还需要考虑运行此CMS的成本,例如,您认为与传统CMS相比,或者DynamoDB是否可以榨取大量果汁,运行起来会便宜吗!!!

amazon-dynamodb asp.net-mvc-5 aws-lambda aws-api-gateway

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

API网关授权者和注销(性能/安全注意事项)

我正在使用Cognito,API网关和授权者。授权者配置为缓存5分钟以提高性能。我觉得这是一个不错的功能。

我知道授权者是将身份验证逻辑放在一个地方的好方法,并且应用程序可以假定用户已被授权。但是,我对此表示怀疑。

渗透测试报告建议,一旦注销,令牌就不能使用。因此,为了安全起见,我不应该启用授权者缓存吗?这也意味着所有经过身份验证的API都要经过一个lambda授权者的开销...

同样从编码的角度来看,使用很难进行端到端测试的授权者真的是一个好主意吗?我可以将lambda函数作为一个单元进行测试。但是对我来说更重要的是它们已连接到正确的API。我目前无法看到可以轻松测试的方法。

另一个问题是查看代码,我再也无法轻易分辨出需要什么授权……我必须查看应该附加哪个授权者(例如CloudFormation),然后查看lambda代码本身。

使用授权者有什么好处吗?或实际上最佳做法是什么?

amazon-web-services aws-lambda aws-api-gateway serverless

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