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

1.3K
Visualizações
AWS CDK API Gateway: cómo implementar una API sin crear una implementación predeterminada (python)

Estoy tratando de implementar una API de descanso lambda con mi propia implementación y no quiero usar la implementación predeterminada que se crea para usted cuando deployment deploy=True . Me encuentro con errores extraños cuando trato de definir explícitamente mi propia implementación. Aquí está mi pila hasta ahora:

 class Stack(core.Stack): def __init__(self, scope: core.Construct, id: str, **kwargs) -> None: super().__init__(scope, id, **kwargs) # existing lambda with correct permissions lambda_function = aws_lambda.Function.from_function_arn(self, "lambda", "arn") api_gateway = aws_apigateway.LambdaRestApi( self, id="APIGateway", proxy=False, description="poc apigateway", rest_api_name="poc-voice-qa-api", handler=lambda_function, deploy=False ) api_key = api_gateway.add_api_key( id="ApiKey", api_key_name="voice-qa-api-key" ) deployment = aws_apigateway.Deployment( self, id="Deployment", api=api_gateway ) deployment.add_to_logical_id(str(api_gateway.latest_deployment)) stage = aws_apigateway.Stage( self, id="DeploymentStage", deployment=deployment, stage_name="api" ) stage_usage_plan = aws_apigateway.UsagePlanPerApiStage( api=api_gateway, stage=stage ) api_gateway.add_usage_plan( id="UsagePlan", api_key=api_key, api_stages=[stage_usage_plan], description="poc usage plan", name="poc-voice-qa-usage-plan" ) resource = api_gateway.root.add_resource( path_part="qa" ) resource = resource.add_resource( path_part="test" ) lambda_integration = aws_apigateway.LambdaIntegration( handler=lambda_function, passthrough_behavior=aws_apigateway.PassthroughBehavior.WHEN_NO_MATCH ) resource.add_method( "GET", lambda_integration, api_key_required=True ) resource.add_method( "POST", lambda_integration, api_key_required=True )

De otras publicaciones que he leído, creo que necesito adjuntar mi escenario o implementación a la API, pero no hay métodos con esta funcionalidad. Intenté hacer api_gateway.deployment_stage = stage pero no funcionó. CDK es bastante nuevo, por lo que no hay mucho por ahí, cualquier ayuda sería apreciada.

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

0

api_gateway.deployment_stage = stage debe estar creando el nombre de la etapa api .

¿Tu API_gateway está creando prod de nombre artístico?

Intenta eliminar esto.
deployment.add_to_logical_id(str(api_gateway.latest_deployment))

over 4 years ago · Santiago Trujillo Relatório

0

a continuación funcionará:

 api_gateway.add_usage_plan( id="UsagePlan", name="poc-voice-qa-usage-plan", description="poc usage plan", api_stages=[apigw.UsagePlanPerApiStage(stage=api_gateway.deployment_stage)] )
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