AWS 上的无服务器部署 - 路由制动器



我正在AWS上弃用我的第一个nodejs无服务器应用程序。在本地阶段,一切正常,但是当我尝试在 AWS 上访问我的应用程序时,所有路由都是刹车。从 cli 提供服务的端点如下所示:

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

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

这是我的配置文件:

秘密.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

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

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

最新更新