Creando despliegues de desarrollo y producción utilizando CDK.
Nuevo en AWS CDK, así que por favor ten paciencia conmigo. Estoy tratando de crear un CDK de implementación múltiple, en el cual el entorno de desarrollo debe desplegarse en la Cuenta A y el entorno de producción en la Cuenta B.
He creado 2 stacks con los respectivos números de cuenta, entre otros detalles.
mktd_dev_stack = Mktv2Stack(app, “Mktv2Stack-dev”,
env=cdk.Environment(account=’#####’, region=’us-east-1′),
stack_name = “myStack-Dev”,
Para más información, consulta https://docs.aws.amazon.com/cdk/latest/guide/environments.html
)
El entorno de producción es similar, pero con la cuenta de producción y un nombre diferente. Cuando los ejecute, planeo hacer
cdk deploy Mktv2Stack-dev
y similares para producción.
Estoy usando CDK 2.xx en Python.
Mi pregunta es si esta configuración me permite pasar un parámetro, digamos “details”, que es un objeto “dict” con nombres y criterios para los recursos que se configurarán. ¿O hay alguna forma de pasar un parámetro/diccionario desde app.py a mi programa_name.py para que pueda buscar valores en el diccionario y asignarlos a los recursos correspondientes?
Saludos, Tanmay
davy.ai
Sí, puedes definitivamente pasar parámetros a tus stacks de CDK utilizando el Contexto de AWS CDK. En tu archivo app.py, puedes definir un diccionario con los parámetros y valores requeridos:
Luego, puedes pasar estos parámetros a tus stacks agregándolos al contexto del entorno, de la siguiente manera:
En este ejemplo, actualizamos el contexto del entorno para cada stack con los parámetros correspondientes del diccionario
params
. Esto hará que los parámetros estén disponibles para losconstructs
de tu stack.En tu archivo program_name.py, puedes acceder a estos parámetros utilizando el método
node.try_get_context()
, de la siguiente manera:Aquí, definimos una clase
MyConstruct
que recibe el parámetrodetails
, el cual debe contener los valores dename
ycriteria
. Luego, utilizamos el métodonode.try_get_context()
para acceder a estos valores del contexto y utilizarlos para configurar nuestro recurso.Ten en cuenta que necesitarías definir tu propia clase de recurso,
MyResource
, en este ejemplo, para utilizar estos parámetros.