Lambda-kerrokset ja ympäristömuuttujat
Tehostakaa koodin käyttöönottoa ja hallintaa käyttämällä Lambda-kerroksia riippuvuuksille ja ympäristömuuttujia määrityksille.
Lambda-kerrokset ja ympäristömuuttujat on ilmainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.
Mitä Lambda Layerit ovat?
AWS Lambda Layerit auttavat hallitsemaan yleisiä riippuvuuksia ja mukautettuja suoritusaikoja tehokkaammin. Niitä voi ajatella funktioiden jaettuina kirjastoina.
Sen sijaan että kaikki koodi ja riippuvuudet paketoitaisiin jokaisen funktion käyttöönoton yhteydessä, uudelleenkäytettävät komponentit voidaan paketoida Layeriin.
Miksi Lambda Layereita käytetään?
Layerit tarjoavat palvelimettomille sovelluksille useita etuja:
- Pienemmät käyttöönottopaketit: Pidä funktion koodi kevyenä erottamalla riippuvuudet siitä.
- Koodin uudelleenkäyttö: Jaa yleistä koodia (esimerkiksi apufunktioita ja tietokantaliittimiä) useiden Lambda-funktioiden kesken.
- Nopeammat käyttöönotot: Pienemmät paketit latautuvat nopeammin.
- Helpommat päivitykset: Kun päivität riippuvuuden kerran Layerissa, kaikki sitä käyttävät funktiot hyötyvät päivityksestä.
Layereiden rakenne
Lambda Layer on käytännössä .zip-tiedostoarkisto, joka sisältää kirjastokoodia, mukautettuja suoritusaikoja tai muita riippuvuuksia.
Kun liität Layerin funktioon, Lambda purkaa sen sisällön funktion suoritusympäristön /opt-hakemistoon. Funktion koodi voi sen jälkeen tuoda moduuleja /opt-hakemistosta.
Yksinkertaisen Layerin hahmottaminen
Oletetaan, että käytössäsi on yleinen lokitukseen tarkoitettu apuohjelma tai tietty SDK-versio. Sen sijaan että sisällyttäisit sen jokaisen Lambda-funktion käyttöönottopakettiin, sijoittaisit sen Layeriin.
Layerin ZIP-tiedoston rakenne voisi Pythonissa näyttää tältä:
python/mylogger.pyLambda-funktiosi voisi silloin yksinkertaisesti tuoda sen näin: import mylogger.
Layerin liittäminen Lambdaan
Voit liittää yhteen Lambda-funktioon enintään 5 Layeria. Tämä tehdään yleensä AWS Management Consolen, AWS CLI:n tai Infrastructure as Code -työkalujen, kuten SAM:n tai CloudFormationin, avulla.
Liittämisen yhteydessä määrität Layer ARN:n (Amazon Resource Name), joka yksilöi Layerin ja sen tietyn version.
Layer-esittely: jaettu apuohjelma
Oletetaan, että meillä on Layer, joka sisältää utils.py-tiedoston ja siinä olevan greet-funktion. Näin Lambda-funktio käyttäisi sitä. (Tässä suoritettavassa esimerkissä simuloimme Layerin olemassaoloa.)
import json
# In a real Lambda, 'utils' would be imported
# from a layer mounted at /opt/python/utils.py
# For this demo, we simulate the 'utils' module.
class Utils:
@staticmethod
def greet(name):
return f"Hello, {name} from Layer!"
utils = Utils() # Make it available as 'utils'
def lambda_handler(event, context):
name = event.get('name', 'World')
message = utils.greet(name)
return {
'statusCode': 200,
'body': json.dumps(message)
}
if __name__ == "__main__":
# Simulate a test event
test_event = {'name': 'Coddy'}
result = lambda_handler(test_event, None)
print(result['body'])
test_event_default = {}
result_default = lambda_handler(test_event_default, None)
print(result_default['body'])Mitä ympäristömuuttujat ovat?
Ympäristömuuttujien avulla voit välittää määritysasetuksia Lambda-funktiollesi muuttamatta sen taustalla olevaa koodia.
Ne ovat avain-arvo-pareja, jotka ovat funktion koodin käytettävissä suorituksen aikana. Tämä sopii erinomaisesti asetuksiin, jotka vaihtelevat ympäristöjen välillä (esimerkiksi kehitys-, testi- ja tuotantoympäristöissä), tai ei-arkaluonteisiin määritystietoihin.
Ympäristömuuttujien määrittäminen Lambdassa
Voit määrittää ympäristömuuttujat Lambda-funktion luonnin tai päivityksen yhteydessä. Tämä tehdään yleensä seuraavilla tavoilla:
- AWS Management Console: Funktion "Configuration"-välilehden kohdassa "Environment variables".
- AWS CLI: Käyttämällä
--environment "Variables={KEY=VALUE}"-parametria. - Infrastructure as Code: Esimerkiksi SAM-mallissa funktion
Environment: Variables:-osiossa.
Tärkeää: Käytä erittäin arkaluonteisille tiedoille, kuten tietokannan salasanoille tai API-avaimille, aina AWS Secrets Manageria ympäristömuuttujien sijaan.
Ympäristömuuttujien esittely: määritys
Oletetaan, että käytössäsi on ympäristömuuttuja nimeltä GREETING_PREFIX, jonka arvoksi on asetettu "Welcome". Lambda-funktiosi voi käyttää sen arvoa helposti Pythonin os-moduulin avulla:
import os
import json
def lambda_handler(event, context):
# Access environment variables
# os.environ.get('KEY', 'default_value')
prefix = os.environ.get('GREETING_PREFIX', 'Hello')
name = event.get('name', 'User')
message = f"{prefix}, {name}!"
return {
'statusCode': 200,
'body': json.dumps(message)
}
if __name__ == "__main__":
# Simulate setting an environment variable locally
os.environ['GREETING_PREFIX'] = 'Hola'
test_event = {'name': 'Amigo'}
result = lambda_handler(test_event, None)
print(result['body'])
# Clean up and test default behavior
del os.environ['GREETING_PREFIX']
test_event_default = {'name': 'World'}
result_default = lambda_handler(test_event_default, None)
print(result_default['body'])Testaa tietosi
Mitkä seuraavista ovat päteviä syitä käyttää AWS Lambda Layereita?
Kertaus: Layerit ja ympäristömuuttujat
Tänään opit kahdesta tehokkaasta työkalusta, joiden avulla Lambda-funktioita voidaan hallita tehokkaammin:
- Lambda Layerit: Niitä käytetään jaetun koodin, kirjastojen ja riippuvuuksien paketoimiseen. Tämä pienentää käyttöönottopaketin kokoa ja edistää koodin uudelleenkäyttöä funktioiden välillä.
- Ympäristömuuttujat: Niitä käytetään määritysasetusten välittämiseen funktiolle suorituksen aikana. Näin koodista tulee joustavampaa ja sitä on helpompi hallita eri käyttöönottoympäristöissä.
Näiden ominaisuuksien hallitseminen auttaa rakentamaan järjestelmällisempiä, tehokkaampia ja helpommin ylläpidettäviä palvelimettomia sovelluksia!
Opi AWS backend-kehittäjille (EC2, S3, RDS, Lambda) 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 ”Lambda-kerrokset ja ympäristömuuttujat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolun 3 oppituntia, myös oppitunnin “Lambda-kerrokset ja ympäristömuuttujat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lambda-kerrokset ja ympäristömuuttujat”?
Tehostakaa koodin käyttöönottoa ja hallintaa käyttämällä Lambda-kerroksia riippuvuuksille ja ympäristömuuttujia määrityksille. Harjoittelet AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Lambda-kerrokset ja ympäristömuuttujat”-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ä AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunnilla?
Kyllä. Jokainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-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
- Lambda-funktion asynkroninen kutsu
- Lambda-kerrokset ja ympäristömuuttujat
- API Gateway Lambda-päätepisteille
- Step Functions Lambda-koordinointiin