Aller au contenu principal

Référence de configuration

Chaque réglage LOCH_RUNTIME_* se lit dans l'environnement ou dans son option ; l'option l'emporte. Les trois variables qui contiennent la valeur d'un identifiant n'ont pas d'option, pour qu'elle n'apparaisse jamais dans la liste des processus. Chaque valeur est vérifiée au démarrage : une valeur invalide arrête le runtime (code de sortie 2) avec un message qui nomme le réglage, toutes les erreurs listées en une fois.

Les durées acceptent la syntaxe Go (1m30s) ou des secondes (2.5), jusqu'à 24 h. Les tailles acceptent des octets ou un suffixe KiB, MiB ou GiB. Les interrupteurs acceptent on/true et off/false.

Réglages du runtime​

VariableOptionDéfautDescription
LOCH_RUNTIME_INVOKE_ADDR--invoke-addr0.0.0.0:8080Adresse d'écoute de l'API Invoke (IP et port)
LOCH_RUNTIME_API_ADDR--runtime-api-addr127.0.0.1:9001Adresse d'écoute de l'API Runtime. Loopback IPv4 uniquement
LOCH_RUNTIME_HEALTH_ADDR--health-addr127.0.0.1:8081Écoute dédiée à la santé, utilisée par health. Loopback IPv4 uniquement
LOCH_RUNTIME_BOOTSTRAP--bootstrap/lambda-entrypoint.shProgramme lancé avec le handler dans la forme <handler>. Chemin absolu
LOCH_RUNTIME_WORKDIR--workdirrépertoire courant (le WORKDIR de l'image)Répertoire de travail du bootstrap. Chemin absolu
LOCH_RUNTIME_INIT_TIMEOUT--init-timeout10sBudget de l'init. Une init plus longue continue, et sa durée est imputée au timeout de la première invocation
LOCH_RUNTIME_SHUTDOWN_GRACE--shutdown-grace8sTemps laissé à l'invocation en cours sur SIGTERM. 0 accepté
LOCH_RUNTIME_MAX_PAYLOAD--max-payload6MiBLimite des requêtes, de 1 Kio à 1 Gio. Réponses : cette limite + 100 octets, comme sur AWS Lambda™
LOCH_RUNTIME_QUEUE_SIZE--queue-size16Invocations en attente (0 à 100000)
LOCH_RUNTIME_QUEUE_BYTES--queue-bytesmin(32MiB, memory/8), au moins LOCH_RUNTIME_MAX_PAYLOADTaille totale des invocations en mémoire. Une valeur définie inférieure à LOCH_RUNTIME_MAX_PAYLOAD est refusée
LOCH_RUNTIME_QUEUE_TIMEOUT--queue-timeout30sAttente maximale dans la file ; au-delà, 429
LOCH_RUNTIME_MAX_CONNS--max-conns8 × (taille de file + 1), 768 au plusConnexions ouvertes vers l'API Invoke. Une IP source peut en tenir un huitième, au moins 4
LOCH_RUNTIME_AUTH--authonoff désactive l'authentification (développement uniquement)
LOCH_RUNTIME_ALLOW_BROWSER--allow-browserfalsetrue accepte les requêtes de navigateurs web (en-têtes Origin, Sec-Fetch-Site, Sec-Fetch-Dest, Sec-Fetch-User)
LOCH_RUNTIME_LOG_LEVEL--log-levelinfodebug, info, warn, error

Identifiants​

Définissez une seule source de jeton bearer au plus, et une seule source pour la paire SigV4. Authentification activée, au moins un identifiant est obligatoire. Voir Authentification.

VariableOptionDescription
LOCH_RUNTIME_TOKEN_SHA256aucuneSHA-256 hexadécimal du jeton bearer, 64 caractères (recommandé)
LOCH_RUNTIME_TOKEN_SHA256_FILE--token-sha256-fileFichier qui le contient
LOCH_RUNTIME_TOKENaucuneJeton bearer en clair, au moins 32 caractères ASCII imprimables, sans espace (lisible par la fonction)
LOCH_RUNTIME_TOKEN_FILE--token-fileFichier qui contient le jeton bearer en clair
LOCH_RUNTIME_ACCESS_KEYaucune<access key id>:<secret> pour SigV4 (lisible par la fonction)
LOCH_RUNTIME_ACCESS_KEY_FILE--access-key-fileFichier qui contient <access key id>:<secret>

Fichiers : chemins absolus, fichiers ordinaires de 4 Kio au plus, relus sur SIGHUP, refusés si l'utilisateur du runtime pourrait les modifier.

Variables de la fonction​

La fonction se configure avec les variables AWS.

VariableDéfautDescription
AWS_LAMBDA_FUNCTION_NAMEfunctionNom accepté dans l'URL d'Invoke. 1 à 64 lettres, chiffres, - ou _
AWS_LAMBDA_FUNCTION_VERSION$LATESTVersion transmise à la fonction
AWS_LAMBDA_FUNCTION_TIMEOUT300Timeout en secondes, jusqu'à 86400. Une convention du RIE, pas une variable AWS
AWS_LAMBDA_FUNCTION_MEMORY_SIZEla limite mémoire du cgroup, sinon 3008Mémoire en Mo, indiquée dans REPORT et à la fonction
AWS_REGIONAWS_DEFAULT_REGION, sinon us-east-1Région de l'ARN de la fonction
AWS_LAMBDA_LOG_FORMATTextJSON écrit les lignes de log de plateforme en JSON

Environnement du bootstrap​

Le bootstrap hérite de l'environnement du conteneur, avec ces changements :

VariablesChangement
AWS_LAMBDA_RUNTIME_APIToujours fixée à l'adresse de l'API Runtime
AWS_LAMBDA_MAX_CONCURRENCYToujours retirée, avec un avertissement
LOCH_RUNTIME_*Toujours retirées
AWS_LAMBDA_FUNCTION_NAME, AWS_LAMBDA_FUNCTION_VERSION, AWS_LAMBDA_FUNCTION_MEMORY_SIZE, AWS_LAMBDA_LOG_GROUP_NAME, AWS_LAMBDA_LOG_STREAM_NAME, AWS_REGION, AWS_DEFAULT_REGION, AWS_LAMBDA_INITIALIZATION_TYPE, AWS_XRAY_CONTEXT_MISSING, LAMBDA_TASK_ROOT, LAMBDA_RUNTIME_DIRDéfinies si absentes

Aucun identifiant n'est jamais inventé : AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY et AWS_SESSION_TOKEN viennent uniquement de votre environnement.


« AWS » et « AWS Lambda » sont des marques d'Amazon.com, Inc. ou de ses sociétés affiliées. Ce projet n'est ni affilié à Amazon ni approuvé par Amazon. Il implémente les API Runtime et Invoke d'AWS Lambda, documentées publiquement, et ne contient aucun code de l'AWS Lambda Runtime Interface Emulator.