[PYTHON] Holen Sie sich mehr als 10 Daten aus dem SSM-Parameterspeicher

Ich möchte mehrere Parameter gleichzeitig aus dem SSM-Parameterspeicher abrufen! Verwenden Sie in diesem Fall "get_parameters" oder "get_parameters_by_path", um ein gutes Gefühl zu bekommen.

Ich wusste das jedoch nicht, aber es scheint, dass ich nur bis zu 10 gleichzeitig erreichen kann, und um es danach zu erhalten, muss ich es mit dem zurückgegebenen Token erneut versuchen.

Erstellen Sie 11 Parameter im Pfad unter / HOGE / des SSM-Parameterspeichers und experimentieren Sie mit Lambda (python3.8).

lambda


import json
import boto3

ssm = boto3.client("ssm")

def lambda_handler(event, context):
    params = dict()
    responseSSM = ssm.get_parameters_by_path(
        Path = "/HOGE",
        WithDecryption = False
    )
    for param in responseSSM["Parameters"]:
        params[ param["Name"] ] = param["Value"]
    
    while True:
        if not "NextToken" in responseSSM:
            break
        responseSSM = ssm.get_parameters_by_path(
            NextToken = responseSSM["NextToken"],
            Path = "/HOGE",
            WithDecryption = False
        )
        for param in responseSSM["Parameters"]:
            params[ param["Name"] ] = param["Value"]
            
    for prm in params:
        print(prm)

    # params["/HOGE/FUGA1"]Sie können darauf zugreifen, indem Sie den Parameternamen so angeben, wie er ist.
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

Ausführung mit SSMFullAccess-Berechtigung für die IAM-Rolle.

Die Ausgabe ist wie folgt. Es wurde bestätigt, dass 10 oder mehr Fälle erhalten werden konnten. Die Reihenfolge ist. .. Ein Geheimnis.

log


/HOGE/FUGA1
/HOGE/FUGA10
/HOGE/FUGA11
/HOGE/FUGA2
/HOGE/FUGA4
/HOGE/FUGA5
/HOGE/FUGA6
/HOGE/FUGA7
/HOGE/FUGA8
/HOGE/FUGA9
/HOGE/FUGA3

Recommended Posts

Holen Sie sich mehr als 10 Daten aus dem SSM-Parameterspeicher
Strukturdaten von CHEMBLID abrufen
[Python] Extrahieren Sie Textdaten aus XML-Daten von 10 GB oder mehr.
Holen Sie sich Daten von Twitter mit Tweepy
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Holen Sie sich Daten von Cloudant mit Bluemix-Kolben
Holen Sie sich mit pyVISA Daten von einem Oszilloskop
Holen Sie sich mit Python Zeitreihendaten von k-db.com
Holen Sie sich während der Pip-Installation Datendateien von einer anderen Stelle
Holen Sie sich mit Python Daten vom GPS-Modul mit 10 Hz
So erhalten Sie mit SQLAlchemy + MySQLdb mehr als 1000 Daten
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)