[PYTHON] Prise en charge de la variable d'environnement AWS Lambda

Essayez immédiatement d'utiliser la prise en charge des variables d'environnement AWS Lambda

C'est une fonctionnalité que vous attendiez. Cliquez ici pour consulter l'article de Lambda sur les variables d'environnement [https://aws.amazon.com/jp/blogs/aws/new-for-aws-lambda-environment-variables-and-serverless-application-model/) Cela rend la partie de codage telle que la différence entre l'environnement de développement et l'environnement commercial pratique. Personnellement, je pense qu'il est également utile de ne pas avoir à coder en dur l'indicateur de niveau de sortie du journal pour le débogage ou les informations de connexion.

Contraintes de nom de variable d'environnement

Il n'y a pas de limite au nombre, Total 4KB Doit commencer par un alphabet et a-zA-z0-9_, donc le symbole ne peut être que "_"

Il existe également un nom réservé, de sorte que les noms de clé suivants ne peuvent pas être utilisés AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_ACCESS_KEY AWS_SECRET_KEY AWS_SECURITY_TOKEN AWS_DEFAULT_REGION AWS_REGION AWS_LAMBDA_LOG_GROUP_NAME AWS_LAMBDA_LOG_STREAM_NAME AWS_LAMBDA_FUNCTION_NAME AWS_LAMBDA_FUNCTION_MEMORY_SIZE AWS_LAMBDA_FUNCTION_VERSION LAMBDA_TASK_ROOT LAMBDA_RUNTIME_DIR

Veuillez vous assurer de vérifier Officiel pour les dernières informations.

Définition des variables d'environnement

Défini avec KeyValue.

A partir de l'interface graphique, la partie variable d'environnement est ajoutée sous l'éditeur de code. Pour le moment, essayez de définir "env" pour Key et "prd" pour Value. スクリーンショット 2016-11-19 10.11.02.png

Depuis la CLI, reportez-vous à la configuration de here.

C'est un flux jusqu'à l'acquisition pour le moment

Évidemment, il peut être considéré comme une variable d'environnement. .. Échantillon en python

just_print.py


import os

def lambda_handler(event, context):
    # TODO implement

    print '---all env value---'    
    for i in os.environ.items():
        print i

    print '---get target---'            
    print os.environ['env']
    
    return
    

résultat

---all env value---
('AWS_LAMBDA_FUNCTION_VERSION', '$LATEST')
('LAMBDA_TASK_ROOT', '/var/task')
('PATH', '/usr/local/bin:/usr/bin/:/bin')
('LD_LIBRARY_PATH', '/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib')
('LANG', 'en_US.UTF-8')
('AWS_LAMBDA_FUNCTION_NAME', 'Just_print_event')
('AWS_REGION', 'us-west-2')
('AWS_SESSION_TOKEN', 'xxxxx')
('AWS_SECURITY_TOKEN', 'xxxxxxx')
('LAMBDA_RUNTIME_DIR', '/var/runtime')
('AWS_LAMBDA_FUNCTION_MEMORY_SIZE', '128')
('env', 'prd')
('PYTHONPATH', '/var/runtime')
('AWS_LAMBDA_LOG_GROUP_NAME', '/aws/lambda/Just_print_event')
('AWS_LAMBDA_LOG_STREAM_NAME', '2016/11/19/[$LATEST]')
('AWS_ACCESS_KEY_ID', 'xxxxxxxxxxxxxxxxxxxxxxxxx')
('AWS_DEFAULT_REGION', 'us-west-2')
('AWS_SECRET_ACCESS_KEY', 'xxxxxxxxxxxxxxxxxxxxxx')
---get target---
prd

Remarques

Il est recommandé de ne pas mettre en texte brut des informations confidentielles telles que le mot de passe de connexion à DB. Considérons le traitement de cryptage à l'aide de KMS, etc.!

Storing Sensitive Information

For sensitive information, such as database passwords, we recommend you use client-side encryption using AWS Key Management Service and store the resulting values as Ciphertext in your environment variable. You will need to include logic in your Lambda function code to decrypt these values.

Avertissement

Ce poste est une opinion individuelle et n'est pas lié à l'entreprise ou à l'organisation à laquelle il appartient. De plus, nous ne garantissons pas le fonctionnement de l'exemple de programme affiché, veuillez donc l'utiliser comme référence uniquement.

Recommended Posts

Prise en charge de la variable d'environnement AWS Lambda
Essayez de fournir des variables d'environnement AWS Lambda?
Environnement lorsque des bibliothèques natives sont incluses dans AWS Lambda
J'ai essayé d'exécuter TensorFlow dans l'environnement AWS Lambda: Préparation
Prise en charge de l'environnement d'exécution Python 2.7 sur AWS Lambda (à partir de 2020.1)
Variable d'environnement Linux PATH
Tweet d'AWS Lambda
Essayez les destinations AWS Lambda
Je viens de créer un environnement virtuel avec la couche AWS lambda
[Python] Scraping dans AWS Lambda
L'implémentation la plus simple d'AWS Lambda
PyTorch avec AWS Lambda [importation Lambda]
Web scraping à l'aide d'AWS lambda
xgboost (python) sur l'environnement d'instance EC2 Spot préparé par AWS Lambda
Préparer un environnement pour utiliser OpenCV et Pillow avec AWS Lambda