Mám AWS Cloudformation šablónu na vytvorenie N počtu SQS frontov. Šablóna neobsahuje žiadny iný typ zdroja.
Každý formát frontu SQS vyzerá takto:
"logical-name-of-queue": {
"Type": "AWS::SQS::Queue",
"Properties": {
"QueueName": "queue-name",
"DelaySeconds": "0",
"MaximumMessageSize": "262144",
"MessageRetentionPeriod": "345600",
"ReceiveMessageWaitTimeSeconds": "20",
"VisibilityTimeout": "300"
}
}
Šablóna by mala vydávať "QueueName" všetkých frontov. Môžem zahrnúť názov každého frontu do výstupu ako:
"Outputs" : {
"name-of-queue-" : {
"Value" : { "Fn::GetAtt" : [ "logical-name-of-queue", "QueueName" ]}
}
}
Ale, ako N môže byť veľký, je nejaký spôsob, ako špecifikovať výstupný blok je taký spôsob, že nie je potrebné písať taký výstupný blok pre každú frontu?
odpovede:
1 pre odpoveď č. 1Od dnešného dňa cloudformation nepodporuje žiadny druh for loops
Čo môžete urobiť, je vytvoriť JSON nejaké iné miesto (python, ruby, java ...). A potom nahrajte výsledok do CloudFormation API.
Tu je veľmi užitočná knižnica napísaná v pythone: troposféra