Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.3K
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda