Ich erstelle mit AWS CloudFormation eine Reihe von Anwendungsressourcen. Wenn die Ressourcen erstellt werden, fügt CloudFormation einen Hash am Ende des Namens hinzu, um es eindeutig zu machen.Programmgesteuertes Verwenden von Ressourcen, die mit CloudFormation erstellt wurden
d. Wenn Sie einen Kinesis-Stream-Namen MyStream
erstellen wollten, wäre der tatsächliche Name etwas wie my-stack-MyStream-1F8ISNCLP0W4O
.
Ich möchte programmgesteuert auf die Ressourcen zugreifen können, ohne den Hash kennen zu müssen, ohne AWS nach meinen Ressourcen abfragen zu müssen, um die Namen selbst und ohne manuelle Schritte abzugleichen. Kennt jemand eine bequeme Möglichkeit, AWS-Ressourcen in Ihrer Anwendung programmgesteuert und vorhersehbar zu verwenden?
Hier sind die weniger idealen Möglichkeiten ich denken kann:
- einen Tag auf der Ressource Set (das heißt
name -> MyStream
) und AWS abfragen, um die tatsächlichen Ressourcennamen zu erhalten. - Fragen Sie AWS nach einer Liste von Ressourcennamen und suchen Sie nach einer Teilübereinstimmung für den erwarteten Namen.
- Nachdem Sie Ihre Ressourcen erstellen, kopieren Sie manuell die tatsächlichen Namen in Ihre Konfigurationsdatei (wahrscheinlich die vernünftigste diese Optionen)
Nummer 3 ist, was wir getan haben. Wir greifen einfach die Ausgaben vom Stapel und schreiben jedes Schlüssel/Wert-Paar in eine Datei, die von bash bezogen wird. Dann sind diese Ausgaben immer vom 'process.env' Objekt verfügbar. – idbehold