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