我无法将两个输出回调值传递到容器定义中。我正在这样做:
redis_url = redis.cache_nodes.apply(lambda cache_nodes: cache_nodes[0].get('address'))
task_definition = aws.ecs.TaskDefinition('task',
family='task-definition',
cpu='256',
memory='512',
network_mode='awsvpc',
requires_compatibilities=['FARGATE'],
execution_role_arn=role.arn,
container_definitions=cloudwatchgroup.name.apply(generate_container_definition)
)
def generate_container_definition(log_group_name):
return json.dumps([{
'name': 'api',
'image': 'api/api:latest',
'portMappings': [{
'containerPort': 80,
'hostPort': 80,
'protocol': 'tcp'
}],
'logConfiguration': {
'logDriver': 'awslogs',
'options': {
'awslogs-group': log_group_name,
'awslogs-region': aws.get_region().name,
}
},
'environment' : [
{ 'name' : 'ENV', 'value' : config.get('ENV') },
{ 'name' : 'REDIS_URL', 'value' : redis_url }
]
}])
但后来我得到:TypeError: Object of type Output is not JSON serializable
有没有办法将两个输出值传递到该函数定义中,还是我做错了什么?