Pasar valores dinámicamente en archivos Python.
Tengo dos archivos de Python. Un archivo está trabajando con AWS CDK y crea un recurso de tabla DynamoDB. El segundo archivo ejecuta una función donde se agregan elementos a la tabla y está fuera del paquete CDK. Actualmente tengo el nombre de la tabla codificado en el método de agregar elementos. Me gustaría llegar a un estado en el que el nombre de la tabla se lea desde el CDK. Soy nuevo en Python, por lo que se agradecerá cualquier consejo. A continuación se muestra el código que he preparado hasta ahora:
Primer archivo de Python
from aws_cdk import (
core as cdk,
aws_dynamodb as dynamodb
)
from aws_cdk import core
class CdkStack(cdk.Stack):
def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
currentDate= date.today()
table_name= 'DynamoTableToPassInOtherFile'
dynamodbTable= dynamodb.Table(self,id='dynamodbTable',table_name=table_name,partition_key=dynamodb.Attribute(name='id',type=dynamodb.AttributeType.STRING))
Segundo archivo de Python
def write_to_dynamo_db(self, json):
dynamodb_response = dynamodb_client.put_item(
TableName= “DynamoTableToReadFromOtherFile”,
Item={
‘id’:{‘S’: self.id},
‘formatted_date’: {‘S’: json},
},
ReturnValues=’ALL_OLD’,
ReturnConsumedCapacity=’INDEXES’,
)
return dynamodb_response
davy.ai
Para lograr el estado deseado, puede utilizar el método
cdk.Fn.importValue
para importar el nombre de la tabla desde el primer archivo. En el primer archivo, puede agregar una salida a la pila que exportará el nombre de la tabla. Luego, en el segundo archivo, puede utilizar el métodocdk.Fn.importValue
para importar el nombre de la tabla desde el primer archivo.Primer archivo de Python
Segundo archivo de Python