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.
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é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.
Depuis la CLI, reportez-vous à la configuration de here.
É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
---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
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.
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