Bună echipă, am nevoie de asistență pentru a înlocui revizuirea actuală a definiției sarcinii ecs în fișierul json. Sunt capabil să înlocuiesc cu succes valorile pentru awsNetworkSubnet în variables.json.
Dar se străduiește să creeze comanda sed adecvată pentru revizuirea nr (care este 7 în exemplul de variables.json de mai jos)
Bash Script:
#!/bin/bash
Fișier_intrare=$1
ENV=2$
Commit_id=3$
subnet_id=$(aws ec2 describe-subnets --filter „Nume=tag:utilizare,Valori=date” --interogare „Subnets[*].SubnetId” --output json | jq -r '.[0]')
echo „ID subrețea: ${subnet_id}”
airflow_ecs_task_definition_revision=$( aws ecs describe-task-definition --task-definition airflow_ecs-small --output json | jq '.taskDefinition.revision')
echo „Reviziunea definiției sarcinii ECS: ${airflow_ecs_task_definition_revision}”
sed -i $1 \
-e "/\"awsNetworkSubnet\":/ s/\"awsNetworkSubnet\":[^,]*/\"awsNetworkSubnet\":\"${subnet_id}\"/"
Exemplu de fișier Json (variabile, json)
"awsCluster": "airflow_ecs-dev",
"awsContainerName": "airflow_ecs",
"awsNetworkSubnet": "subnet-1234",
"awsRegionName": "us-east-1",
"awsSecurityGroup": "sg-1234",
"awsTaskDefinition": "airflow_ecs-small:7"
},
AWS CLi utilizat:
./subnet-cicd.sh variables.json test cmt1234