Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

564
Visualizações
Agregue el disparador de Lambda al grupo de usuarios de Cognito importado con AWS CDK

Estoy tratando de usar AWS CDK para crear una nueva lambda vinculada a recursos de AWS ya existentes que no se crearon con CDK y que forman parte de una pila diferente.

¿Puedo activar mi lambda desde un grupo de usuarios ya existente usando CDK? He importado el grupo de usuarios a mi nueva pila usando:

const userPool = UserPool.fromUserPoolArn(this, 'poolName, 'arn:aws:cognito-idp:eu-west-1:1234567890:userpool/poolName')

Sin embargo, esto me da un IUserPool que no tiene el método addTrigger . ¿Hay alguna manera de convertir esto en un UserPool para poder activar la lambda (ya que puedo ver que UserPool tiene el método addTrigger )?

He visto que es posible, por ejemplo, otorgar permisos para que mi nueva lambda lea/escriba en una tabla DynamoDB existente usando CDK. Y realmente no entiendo la diferencia aquí: DynamoDB es un recurso de AWS existente y lo estoy importando a la nueva pila usando CDK y luego permitiendo que mi nueva lambda lo modifique. El grupo de usuarios de Cognito también es un recurso de AWS existente y puedo importarlo en CDK, pero parece que no puedo modificarlo. ¿Por qué?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Esto fue discutido en este número . Puede agregar activadores a un grupo de usuarios existente utilizando un recurso personalizado:

 import * as CustomResources from '@aws-cdk/custom-resources'; import * as Cognito from '@aws-cdk/aws-cognito'; import * as Iam from '@aws-cdk/aws-iam'; const userPool = Cognito.UserPool.fromUserPoolId(this, "UserPool", userPoolId); new CustomResources.AwsCustomResource(this, "UpdateUserPool", { resourceType: "Custom::UpdateUserPool", onCreate: { region: this.region, service: "CognitoIdentityServiceProvider", action: "updateUserPool", parameters: { UserPoolId: userPool.userPoolId, LambdaConfig: { PreSignUp: preSignUpHandler.functionArn }, }, physicalResourceId: CustomResources.PhysicalResourceId.of(userPool.userPoolId), }, policy: CustomResources.AwsCustomResourcePolicy.fromSdkCalls({ resources: CustomResources.AwsCustomResourcePolicy.ANY_RESOURCE }), }); const invokeCognitoTriggerPermission = { principal: new Iam.ServicePrincipal('cognito-idp.amazonaws.com'), sourceArn: userPool.userPoolArn } preSignUpHandler.addPermission('InvokePreSignUpHandlerPermission', invokeCognitoTriggerPermission)

También puede modificar otras configuraciones del grupo de usuarios con este método.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda