es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Plantilla de prueba de AWS CDK y evite crear imágenes de Docker.

Quiero probar una plantilla/constructo de AWS CDK que involucra la creación de una función lambda con una imagen de docker como recurso. Esto hace que las pruebas unitarias tarden un poco en ejecutarse. ¿Hay alguna manera de indicarle al CDK que no cree físicamente estas imágenes de docker para fines de prueba?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, existe una forma de indicarle a AWS CDK que no cree imágenes de Docker físicamente para fines de prueba. Puede utilizar la clase DockerImageAssetOptions para especificar opciones de prueba para los assets de imágenes de Docker.

    Primero, importe la clase DockerImageAssetOptions:

    from aws_cdk.aws_ecr_assets import DockerImageAssetOptions
    

    Luego, cree una instancia de DockerImageAssetOptions con el parámetro build_args establecido en un diccionario vacío:

    test_options = DockerImageAssetOptions(
        build_args={}
    )
    

    Finalmente, pase la instancia test_options al constructor DockerImageAsset al definir su función lambda:

    my_function = lambda_.DockerImageFunction(
        self, "MyFunction",
        code=lambda_.DockerImageCode.from_image_asset(path="path/to/my/dockerfile", options=test_options)
    )
    

    Al establecer el parámetro build_args a un diccionario vacío, AWS CDK omitirá el paso de construir la imagen de Docker durante las pruebas. Esto reducirá significativamente el tiempo de prueba unitaria para su construcción/plantilla de AWS CDK que involucra la creación de una función lambda con un asset de imagen de Docker.

Comments are closed.