在AWS上进行无服务器部署-踩刹车

时间:2019-07-20 08:37:51

标签: node.js amazon-web-services serverless

我正在部署我在AWS上的第一个nodejs无服务器应用程序。在本地阶段,一切正常,但是当我尝试在AWS上访问我的应用程序时,所有路线都是刹车。从cli服务的端点是这样的:

  

https://test.execute-api.eu-west-1.amazonaws.com/stage/

在路径末尾添加单词 stage 。因此,我通往静态资源或其他端点的所有路径都是刹车。

这是我的配置文件:

secret.json

{
  "NODE_ENV": "stage",
  "SECRET_OR_KEY": "secret",
  "TABLE_NAME": "table",
  "service_URL": "https://services_external/json",
  "DATEX_USERNAME": "usrn",
  "DATEX_PASSWD": "psw"
}

serverless.yml

service: sls-express-dynamodb

custom:
  iopipeNoVerify: true
  iopipeNoUpgrade: true
  iopipeNoStats: true
  secrets: ${file(secrets.json)}

provider:
  name: aws
  runtime: nodejs8.10
  stage: ${self:custom.secrets.NODE_ENV}
  region: eu-west-1
  environment:
    NODE_ENV: ${self:custom.secrets.NODE_ENV}
    SECRET_OR_KEY: ${self:custom.secrets.SECRET_OR_KEY}
    TABLE_NAME: ${self:custom.secrets.TABLE_NAME}
    DATEX_USERNAME: ${self:custom.secrets.DATEX_USERNAME}
    DATEX_PASSWD: ${self:custom.secrets.DATEX_PASSWD}
    DATEX_URL: ${self:custom.secrets.DATEX_URL}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - dynamodb:DescribeTable
        - dynamodb:Query
        # - dynamodb:Scan
        - dynamodb:GetItem
        - dynamodb:PutItem
        - dynamodb:UpdateItem
        - dynamodb:DeleteItem
      Resource: 'arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.TABLE_NAME}'

functions:
  app:
    handler: server.run
    events:
      - http:
          path: /
          method: ANY
          cors: true
      - http:
          path: /{proxy+}
          method: ANY
          cors: true

1 个答案:

答案 0 :(得分:0)

您应该能够通过Web UI找出API网关端点。

  • 登录到AWS控制台
  • 转到 API网关
  • 在左侧面板上,单击API名称。 (例如sls-express-dynamodb-master)
  • 在左侧面板上,点击阶段
  • 在中间面板上,单击阶段名称。 (例如,大师)
  • 在右侧窗格中将找到API URL,标记为:调用URL