Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla · Oppitunti

Ympäristömuuttujat ja Layer-kerrokset

Hallinnoikaa määrityksiä ja riippuvuuksia tehokkaasti ympäristömuuttujien ja jaettuun koodiin tarkoitettujen Lambda Layers -kerrosten avulla

Oppitunti 2/411 vaihetta

Ympäristömuuttujat ja Layer-kerrokset on ilmainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.

Lambda-funktioiden määrittäminen

Palvelimettomia sovelluksia rakentaessasi sinun on usein määritettävä Lambda-funktioitasi. Tämä sisältää asetuksia, jotka muuttuvat kehitys-, testaus- ja tuotantoympäristöjen välillä.

Ajattele esimerkiksi tietokantayhteysmerkkijonoja, API-päätepisteitä tai ominaisuuslippuja. Näiden arvojen kovakoodaus on huono käytäntö!

Mitä ympäristömuuttujat ovat?

Ympäristömuuttujat ovat avain-arvo-pareja, jotka määrität Lambda-funktiollesi. Funktiosi koodi voi käyttää näitä muuttujia suorituksen aikana.

  • Niiden avulla funktion toimintaa voi muuttaa helposti ilman koodin muokkaamista.
  • Jokaisella funktiolla on oma ympäristömuuttujajoukkonsa.

Ympäristömuuttujien asettaminen

Voit määrittää ympäristömuuttujat suoraan AWS Management Consolessa Lambda-funktiosi asetusten yhteydessä. Ne voidaan määrittää myös Infrastructure as Code -työkaluilla, kuten AWS SAM:lla tai CloudFormationilla.

Tärkeää: Älä tallenna arkaluonteisia tietoja, kuten tietokantojen salasanoja, suoraan ympäristömuuttujiin, vaikka se olisi kätevää. Käytä siihen AWS Secrets Manageria!

Ympäristömuuttujien käyttäminen Pythonissa

Pythonissa ympäristömuuttujia voi käyttää os-moduulin ja erityisesti os.environ.get()-funktion avulla. Tämän metodin avulla voit antaa oletusarvon, jos muuttujaa ei ole asetettu.

Kokeile suorittaa tämä esimerkki:

import os

def lambda_handler(event, context):
    # Get GREETING_MESSAGE env var, default to 'Hello'
    greeting = os.environ.get('GREETING_MESSAGE', 'Hello')
    
    # Get 'name' from the event, default to 'World'
    name = event.get('name', 'World') 
    
    message = f"{greeting}, {name}!"
    print(message)
    
    return {
        'statusCode': 200,
        'body': message
    }

# --- Local testing simulation ---
if __name__ == '__main__':
    # Simulate setting an environment variable locally
    os.environ['GREETING_MESSAGE'] = 'Hola'
    
    # Simulate a Lambda event
    test_event = {'name': 'CoddyKit User'}
    
    print("\nRunning lambda_handler locally...")
    result = lambda_handler(test_event, None)
    print(f"Local Lambda response: {result}")
    
    # Clean up simulated env var
    del os.environ['GREETING_MESSAGE']

Ympäristömuuttujien parhaat käytännöt

Ympäristömuuttujien harkittu käyttö voi parantaa huomattavasti funktion ylläpidettävyyttä:

  • Ei-arkaluonteiset asetukset: Käytä esimerkiksi API-avaimille (ei-kriittisissä palveluissa), lokitasoille ja ominaisuuslipuille.
  • Integrointi Secrets Manageriin: Tallenna todella arkaluonteiset tiedot, kuten tietokannan tunnistetiedot, AWS Secrets Manageriin ja hae ne suorituksen aikana funktion IAM-roolin avulla.
  • Erilliset ympäristöt: Vaihda kehitys-, esituotanto- ja tuotantoympäristöjen asetuksia helposti.

Lambda-kerrosten esittely

Kun palvelimettomat sovelluksenne kasvavat, useat Lambda-funktiot saattavat tarvita samoja kirjastoja, riippuvuuksia tai apuohjelmakoodia.

Lambda Layers ratkaisee tämän mahdollistamalla yhteisten komponenttien paketoimisen ja jakamisen useiden funktioiden kesken.

Lambda Layers -kerrosten hyödyt

Layer-kerrokset tarjoavat useita etuja Lambda-funktioiden hallintaan:

  • Pienemmät käyttöönottopaketit: Funktiokoodinne sisältää vain liiketoimintalogiikan, ei suuria kirjastoja.
  • Koodin uudelleenkäyttö: Jakakaa yhteisiä funktioita, apumoduuleja tai SDK:ita useiden Lambda-funktioiden kesken.
  • Nopeammat käyttöönotot: Ladattavaksi tulee vain pieni funktiokoodinne, ei kokonaisia riippuvuusjoukkoja.
  • Yhdenmukaiset riippuvuudet: Varmistakaa, että kaikki funktiot käyttävät kirjastosta samaa versiota.

Miten Lambda Layers -kerrokset toimivat

Kun liitätte layer-kerroksen Lambda-funktioon, AWS purkaa sen sisällön funktion suoritusympäristön /opt-hakemistoon.

Funktiokoodinne voi tämän jälkeen tuoda moduuleja tai käyttää binaareja tästä /opt-hakemistosta aivan kuin ne kuuluisivat sen omaan käyttöönottopakettiin.

Jaetun layer-kerroksen käyttäminen (Python)

Kun layer-kerros on liitetty, Python-funktionne voi yksinkertaisesti tuoda siitä moduuleja. Jos layer sisältää tiedoston my_utilities.py polussa python/my_utilities.py, voitte tuoda sen kuten minkä tahansa muun moduulin:

from my_utilities import format_message import json def lambda_handler(event, context): user_name = event.get('name', 'Guest') # Assuming format_message is in our layer response_message = format_message(user_name) return { 'statusCode': 200, 'body': json.dumps({'message': response_message}) }

Tätä koodia ei voi suorittaa sellaisenaan, koska layer-kerrosta ei ole määritetty tässä, mutta se näyttää, miten siitä tuodaan sisältöä.

from my_utilities import format_message
import json

def lambda_handler(event, context):
    user_name = event.get('name', 'Guest')
    # Assuming format_message is in our layer
    response_message = format_message(user_name)
    
    return {
        'statusCode': 200,
        'body': json.dumps({'message': response_message})
    }

Pikatarkistus: ympäristömuuttujat ja layer-kerrokset

Testataan, miten hyvin tunnette Lambdan ympäristömuuttujat ja layer-kerrokset.

Kertaus: ympäristömuuttujat ja layer-kerrokset

Tässä oppitunnissa opitte hallitsemaan Lambda-funktioiden määrityksiä ja riippuvuuksia tehokkaasti:

  • Ympäristömuuttujat: Ei-luottamukselliseen määritykseen käytettäviä avain–arvo-pareja, joihin pääsee Pythonissa käsiksi os.environ-rakenteen kautta.
  • Lambda Layers -kerrokset: Mekanismeja yhteisen koodin, kirjastojen ja riippuvuuksien paketoimiseen ja jakamiseen useiden funktioiden kesken.
  • Layer-kerrokset pienentävät käyttöönottopaketteja, parantavat uudelleenkäytettävyyttä ja nopeuttavat käyttöönottoja.

Seuraavaksi tutustutte Lambda-funktioiden lokitukseen ja valvontaan CloudWatchin avulla!

Aloita maksutta

Opi Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Ympäristömuuttujat ja Layer-kerrokset” ilmainen?

Kyllä – oppitunnin ”Ympäristömuuttujat ja Layer-kerrokset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssin, päivitä CoddyKit PROhon. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Ympäristömuuttujat ja Layer-kerrokset”?

Hallinnoikaa määrityksiä ja riippuvuuksia tehokkaasti ympäristömuuttujien ja jaettuun koodiin tarkoitettujen Lambda Layers -kerrosten avulla Harjoittelet Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Ympäristömuuttujat ja Layer-kerrokset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunnilla?

Kyllä. Jokainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Lambdan suoritusympäristö ja käsittelijä
  2. Ympäristömuuttujat ja Layer-kerrokset
  3. Lokitus ja valvonta CloudWatchilla
  4. Virheenkäsittely, retry-yritykset ja dead-letter-jonot
← Takaisin: Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla