Es ist eine kleine Geschichte. Ich denke, es gibt viele Male, in denen ich Lambda schreibe und einzelne Einstellwerte schreiben möchte. Wenn Sie es zu diesem Zeitpunkt direkt im Quellcode angeben, kann es schwierig sein, es zu korrigieren, oder der Wert kann in anderen Funktionen wiederverwendet werden.
Warum bereiten Sie dann nicht eine INI-Datei zum Einstellen vor und lesen sie? So verwenden Sie die INI-Datei.
Die Zielsprache ist Python.
ConfigParser
Da wir eine INI-Datei verwenden, laden wir eine lokal komprimierte Version hoch. Die INI-Datei befindet sich in dem Verzeichnis, in dem sich die Python-Skriptdatei "lambda_function.py" befindet. Speichern Sie es diesmal als "config.ini".
config.ini
[dynamodb]
table_name : hogehoge_table
[sns]
topic_arn : arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:xxxxxx
Ich werde es so beschreiben.
Verwenden Sie die INI-Datei nach der Vorbereitung wie folgt im Skript.
lambda_function.py
# -*- coding: utf-8 -*-
from __future__ import print_function
import ConfigParser
import boto3
#Konfigurationsdatei lesen
ini = ConfigParser.SafeConfigParser()
ini.read("./config.ini")
# DynamoDB
dynamodb = boto3.resource('dynamodb')
dynamoTable = ini.get("dynamodb", "table_name")
dynamo = dynamodb.Table(dynamoTable)
# sns
snsTopic = ini.get("sns", "topic_arn")
def lambda_handler(event, context):
<<Tatsächlicher Verarbeitungsteil>>
Geben Sie wie ini.get ("sns", "topic_arn") die in [xxx] geschriebene Masse als erstes Argument an. Geben Sie als Nächstes das Element an, das Sie als zweites Argument in die Masse aufnehmen möchten.
Schreiben Sie AWS-Schlüsselinformationen in ein Skript und veröffentlichen Sie sie für die Öffentlichkeit ... Ich höre oft solche Geschichten, aber ich denke, es wäre gut, solche Informationen in INI-Dateien aufzuteilen.
Recommended Posts