Netlify“用户无权执行:dynamodb:PutItem在资源上”

时间:2018-06-22 13:15:00

标签: javascript amazon-web-services aws-lambda amazon-dynamodb netlify

我正在尝试与Netlify和AWS接触。我已经从official serverless site here下载了一个示例REST API预设。 该网站在serverless deploy(包括create路由)之后在本地工作,用于向数据库中添加新的todo元素(Amazon上的API网关未显示任何问题)

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

  

{用户:arxxxx:assumed-role / aws-lambda-execute / xxx未经授权执行:dynamodb:PutItem在资源上:arn:aws:dynamodb:us-xxx-1:xxx:table / serverless-rest -api-with-dynamodb-dev“,” code“:” AccessDeniedException“,” time“:” xxx“,” requestId“:” 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}"

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

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

0 个答案:

没有答案