我正在使用AWS lambda函数创建一个API。我使用定制的lambda授权器来验证JWT。我正在通过lambda授权者的principalID传递一些数据。我想在另一个lambda函数中使用该PrincipalID。这是我的lambda函数的示例代码。
package main
import (
"github.com/aws/aws-lambda-go/lambda"
"log"
)
type User struct {
Name string `json:"name"`
Id string `json:"principalID"`
}
func handler(event User) (id, error){
name := event.Name
id := event.Id
log.Println(name)
log.Println(id)
return id, nil
}
func main(){
lambda.Start(handler)
}
在这里,我想将以下json正文传递给API
{
"name":"XYZ"
}
我也想从lambda授权者到处理程序获取principalID。我尝试使用映射模板"principalID" : "$context.authorizer.principalID"
。我可以使用此模板获取principalID,但是无法从json主体获取"name":"XYZ"
。如果删除模板,则可以得到"name":"XYZ"
。我无法同时获得两个价值。我该怎么做才能同时获得principalID和名称?