AWS无服务器框架:如何在Lambda函数中获取Cogntio用户池ID和应用程序客户端ID

Dat*_*ray 5 amazon-web-services amazon-cognito aws-lambda serverless-framework

我正在尝试使用 Serverless.yml 文件创建认知用户池 ID 和应用程序客户端

我指的是这个链接 -

https://serverless-stack.com/chapters/configure-cognito-user-pool-in-serverless.html

我想在我的 lambda 函数代码中使用这个 Cognito 用户池 ID。

有什么方法可以在我的 lambda 代码中获取此用户池 ID 和应用程序客户端 ID 吗?

无服务器有什么方法可以创建一些环境变量等来保存用户池 ID 和应用程序客户端 ID 的值?

jog*_*old 8

您可以执行以下操作:

myFunction:
  handler: '...'
  environment:
    USER_POOL_ID: # The name of the env var in your lambda
      Ref: CognitoUserPool # The name of your resource in Resources section
    APP_CLIENT_ID:
      Ref: CognitoUserPoolClient
Run Code Online (Sandbox Code Playgroud)

它之所以有效,是因为无服务器在底层使用了 CloudFormation。

另请参阅AWS::Cognito::UserPool和Ref的返回值