Go 如何将lambda授权器的principalID传递给另一个lambda函数

Go 如何将lambda授权器的principalID传递给另一个lambda函数,go,aws-lambda,authorization,aws-api-gateway,Go,Aws Lambda,Authorization,Aws Api Gateway,我正在使用AWS lambda函数创建一个API。我使用定制的lambda授权程序来验证JWT。我正在通过lambda授权人的principalID传递一些数据。我想在另一个lambda函数中使用principalID。下面是lambda函数的示例代码 package main import ( "github.com/aws/aws-lambda-go/lambda" "log" ) type User struct {

我正在使用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"
}
我还想把principalID从lambda授权人处交给处理人。我尝试使用映射模板
“principalID”:“$context.authorizer.principalID”
。我可以使用此模板获取principalID,但无法从json正文中获取
“name”:“XYZ”
。如果我删除模板,我可以得到
“name”:“XYZ”
。我无法同时获得这两个值。我该怎么做才能同时得到principalID和name