2

我已经AWS API Gateway使用 python 实现了一个自定义授权模块。基本上它可能会返回如下内容:

access = {
    "principalId": "yyyyyyyy",
    "policyDocument" : {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": "execute-api:Invoke",
                "Resource": [
                    "some-arn/*/GET/organisation"
                ],
                "Effect": "Allow"
            }
        ]
    },
    "context" : {
        "organization_id": "123"
    }
}

在后端站点,我想在 DynamoDb 上执行 GetItem。映射模板如下所示:

{   
    "TableName":"Organisation",
    "Key":{
        "id":{
            "S":"$context.authorizer.organization_id"
        }
    }
}

但是,我收到一个错误,因为context变量似乎是空的:

Mon Jul 10 19:47:16 UTC 2017 : Endpoint request body after transformations: {   ""
    "TableName":"Organisation",
    "Key":{
        "id":{
            "S":""
        }
    }
}

Mon Jul 10 19:47:16 UTC 2017 : Endpoint response body before transformations: {"__type":"com.amazon.coral.service#SerializationException"}

任何建议,我在这里做错了什么?

4

1 回答 1

0

经过大量测试,我发现这个问题只有在使用 AWS 控制台进行测试时才会出现。这个问题也在这里讨论。希望 AWS 能尽快解决这个问题。

于 2017-07-11T07:32:45.753 回答