在AWS CDK v2中,ECS TaskDefinition L2构造有一个可选属性TaskRole,如果未指定CDK,则默认行为是创建任务角色.但是,我不希望为此资源设置任务角色,这在AWS中实际上并不是必需的-任务定义可以在没有此属性的情况下运行.我怎么才能在CDK中做到这一点?我找不到任何方法来取消设置该任务角色,或者从一开始就不生成它.为此,我需要后退到L1构造吗?我的配置:

taskDefinition := awsecs.NewEc2TaskDefinition(stack, jsii.String(deploymentEnv+service.Tag+"TaskDef"), &awsecs.Ec2TaskDefinitionProps{
            Family:      jsii.String(deploymentEnv + service.Tag), 
            NetworkMode: awsecs.NetworkMode_BRIDGE,
            //TaskRole: what can i do here to fix this
            Volumes: &[]*awsecs.Volume{
                &efs_shared_volume,
            },
        })

推荐答案

您可以使用tryRemoveChild escape hatch方法按ID删除任意子构造:

taskDefinition.Node().TryRemoveChild(jsii.String("TaskRole"))

诀窍是识别构造ID.您有时需要在source code中查找它.

Go相关问答推荐

如何创建两个连接的io.ReadWriteClosers以用于测试目的

Go:嵌入类型不能是类型参数""

消费者在NAT中是如何实现的

仅呈现一个模板的GIN Web应用程序

如何使用工作区方法扩展克隆的Golang库

从使用Golang otelmux检测的Otel跟踪中获取trace_id

正确使用pgtype的方法

go测试10m后如何避免超时

Go 1.20 中如何计算连接错误?

无法读取postman 中的表单数据

这种合并排序的实现有什么问题?

正则表达式模式,确保至少一个字符与其他条件一起存在

在 GoLang 中对自定义 struct 体数组进行排序

无法在go中为docker容器写入有效的挂载路径

Secrets Manager Update Secret - Secret String 额外的 JSON 编码

没有任务角色的 AWS CDK ECS 任务定义

io.Pipe 使用困难

在 Raspberry Pi4 上下载 Go Mod

是否可以使用按位运算在随机 unicode 字符串中找到重复字符?

Dynamodb.ScanInput - 不能使用expr.Names()(类型 map[string]*string)作为类型 map[string]string