1

我正在尝试使用 Netlify 和 AWS。我已从此处的官方无服务器站点下载了一个示例 REST API 预设。serverless deploy该站点在包含路由后在本地工作create,用于将新的 todo 元素添加到数据库中(亚马逊上的 API 网关显示没有问题)

我想测试它如何在 netlify 上工作,所以我从文件中创建了一个 bitbucket 存储库并将其上传到 netlify 服务器。从一开始,就有一些小问题。例如,未提供声称TableName在代码中创建的错误process.env.DYNAMODB_TABLE。将值替换为字段的值后,我收到一条错误消息

{用户:arxxxx:assumed-role/aws-lambda-execute/xxx 无权执行:dynamodb:PutItem on resource:arn:aws:dynamodb:us-xxx-1:xxx:table/serverless-rest-api- with-dynamodb-dev","code":"AccessDeniedException","time":"xxx","re​​questId":"xxx","statusCode":400,"retryable":false,"retryDelay":30.76949318814495}

该问题表明我的无服务器参数错误,但是我确实设置了权限:

provider:
  name: aws
  runtime: nodejs6.10
  environment:
    DYNAMODB_TABLE: ${self:service}-${opt:stage, self:provider.stage}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - 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.DYNAMODB_TABLE}"

当数据是本地的时,一切似乎都可以正常工作。

有没有人遇到过这样的问题?

4

0 回答 0