Amazon EventBridgen integrointi
Hyödyntäkää Amazon EventBridgeä tapahtumaväylien rakentamiseen, eri lähteistä tulevien tapahtumien reitittämiseen ja tehokkaiden tapahtumaohjattujen integraatioiden luomiseen AWS-tilillänne.
Amazon EventBridgen integrointi on ilmainen Serverless-kehitys AWS Lambdalla-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 Serverless-kehitys AWS Lambdalla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.
Mikä Amazon EventBridge on?
Tervetuloa tutustumaan tapahtumapohjaisiin arkkitehtuureihin perusteellisemmin! Tänään tutustumme Amazon EventBridgeen, tehokkaaseen palveluun, joka toimii palvelimettomien sovellustenne keskushermostona.
EventBridge on palvelimeton tapahtumaväylä, jonka avulla sovellukset on helppo yhdistää toisiinsa käyttämällä omien sovellustenne, Software-as-a-Service (SaaS) -sovellusten ja AWS-palveluiden tietoja.
EventBridgen keskeiset käsitteet
EventBridge perustuu muutamaan keskeiseen käsitteeseen:
- Tapahtumaväylä: Tapahtumia vastaanottava putki. AWS-palveluiden tapahtumia varten on olemassa oletustapahtumaväylä, ja voitte luoda mukautettuja tapahtumaväyliä.
- Säännöt: Suodattimia, jotka täsmäyttävät saapuvat tapahtumat niiden sisällön (tapahtumamallien) perusteella.
- Kohteet: AWS-palvelut tai päätepisteet, joihin tapahtuma lähetetään, kun sääntö täsmää.
Oletustapahtumaväylä
Jokaisella AWS-tilillä on automaattisesti oletustapahtumaväylä. Tämä väylä vastaanottaa tapahtumia yli 200 AWS-palvelusta, kuten S3:sta, EC2:sta, Lambdasta ja CloudTrailista.
Teidän ei tarvitse määrittää näitä lähteitä, sillä ne julkaisevat tapahtumat automaattisesti oletusväylään. Näin voitte reagoida AWS-ympäristössänne tapahtuviin muutoksiin ja toimintaan ilman mukautettua koodia.
Mukautetut tapahtumaväylät ja lähteet
Oletusväylä käsittelee AWS-tapahtumia, mutta voitte luoda mukautettuja tapahtumaväyliä omien sovellustenne tai kolmannen osapuolen SaaS-palveluntarjoajien tapahtumien hallintaa varten.
Näin voitte keskittää tapahtumien reitityksen koko ekosysteemillenne. Tapahtumien lähteitä voivat olla:
- AWS-palvelut: (oletusväylän kautta)
- SaaS-kumppanit: (esimerkiksi Zendesk ja Shopify)
- Mukautetut sovellukset: omat mikropalvelunne tai monoliittisovelluksenne.
Tapahtumamallien luominen (säännöt)
Säännöt määrittävät, mihin EventBridge reitittää tapahtumat. Jokaisella säännöllä on tapahtumamalli, JSON-rakenne, joka määrittää ehdot, jotka tapahtuman on täytettävä tullakseen täsmäytetyksi.
Tapahtumamalleissa voidaan täsmäyttää tiettyjä kenttiä tai etuliitteitä ja jopa tarkistaa kenttien olemassaolo. Ne ovat erittäin joustavia suodatuksessa.
Esimerkki tapahtumamallista
Tässä on esimerkki tapahtumamallista, joka täsmäyttää minkä tahansa PutObject-toiminnon S3-säilössä:
Tämä malli varmistaa, että vain S3-objektien luontitapahtumat käynnistävät säännön.
{
"source": ["aws.s3"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["s3.amazonaws.com"],
"eventName": ["PutObject"]
}
}EventBridgen kohteet
Kun tapahtuma täsmää sääntöön, EventBridge lähettää sen yhteen tai useampaan kohteeseen. Kohteet ovat palveluita, jotka käsittelevät tapahtuman.
Yleisiä kohteita ovat:
- AWS Lambda -funktiot
- Amazon SQS -jonot
- Amazon SNS -aiheet
- AWS Step Functions -tilakoneet
- Kinesis-virrat
- ja monet muut!
Lambda EventBridgen kohteena
Lambda-funktiot ovat erittäin yleisiä EventBridgen kohteita. Kun tapahtuma täsmää sääntöön, EventBridge kutsuu Lambda-funktiotanne ja välittää tapahtumatiedot syötteenä.
Näin voitte rakentaa erittäin nopeasti reagoivia, tapahtumapohjaisia mikropalveluita, jotka reagoivat AWS-ympäristönne tai mukautettujen sovellustenne muutoksiin.
EventBridge-tapahtumien käsittely Lambdassa
Tarkastellaan Pythonilla kirjoitettua Lambda-funktiota, joka on suunniteltu vastaanottamaan ja käsittelemään EventBridge-tapahtuma. event-parametri sisältää koko JSON-tapahtomakuorman.
Simuloimme esimerkkiä varten S3:n PutObject-tapahtumaa.
import json
def lambda_handler(event, context):
print("Received event from EventBridge:")
print(json.dumps(event, indent=2))
source = event.get('source')
detail_type = event.get('detail-type')
if source == 'aws.s3' and detail_type == 'AWS API Call via CloudTrail':
bucket_name = event['detail']['requestParameters']['bucketName']
object_key = event['detail']['requestParameters']['key']
print(f"S3 PutObject event detected for bucket: {bucket_name}, key: {object_key}")
else:
print(f"Unknown event source: {source}, detail-type: {detail_type}")
return {
'statusCode': 200,
'body': json.dumps('Event processed successfully!')
}
# Simulate a local invocation for testing
if __name__ == '__main__':
sample_s3_event = {
"version": "0",
"id": "c6183e20-7f51-4091-8656-e23a31c51e0f",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.s3",
"account": "123456789012",
"time": "2023-10-27T10:00:00Z",
"region": "us-east-1",
"resources": [],
"detail": {
"eventSource": "s3.amazonaws.com",
"eventName": "PutObject",
"requestParameters": {
"bucketName": "my-cool-bucket",
"key": "new-image.jpg"
}
}
}
print("--- Simulating Lambda with EventBridge event ---")
lambda_handler(sample_s3_event, None)
print("--- Simulation complete ---")EventBridgen pikatesti
Haluatte käynnistää Lambda-funktion aina, kun uusi käyttäjä rekisteröityy mukautettuun sovellukseenne. Sovelluksenne julkaisee UserSignedUp-tapahtuman mukautettuun tapahtumaväylään.
Mikä seuraavista tapahtumamalleista täsmäyttäisi tämän tapahtuman oikein?
Kertaus: EventBridgen teho
Tässä oppitunnissa tutustuimme Amazon EventBridgeen ja sen rooliin palvelimettomien sovellustenne keskitettynä tapahtumaväylänä. Opitte seuraavat asiat:
- Tapahtumaväylät: oletusväylä, mukautettu väylä ja kumppaniväylä.
- Säännöt: tapahtumamallien käyttäminen tapahtumien suodattamiseen.
- Kohteet: täsmäytettyjen tapahtumien lähettäminen esimerkiksi Lambdan kaltaisille palveluille.
- Lambda-funktioiden integroiminen EventBridge-tapahtumien käsittelyyn.
EventBridge on keskeinen osa skaalautuvien, löyhästi kytkettyjen ja nopeasti reagoivien tapahtumapohjaisten arkkitehtuurien rakentamista.
Opi Serverless-kehitys AWS Lambdalla 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 ”Amazon EventBridgen integrointi” ilmainen?
Kyllä – oppitunnin ”Amazon EventBridgen integrointi” 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 Serverless-kehitys AWS Lambdalla-kurssin, päivitä CoddyKit PROhon. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Amazon EventBridgen integrointi”?
Hyödyntäkää Amazon EventBridgeä tapahtumaväylien rakentamiseen, eri lähteistä tulevien tapahtumien reitittämiseen ja tehokkaiden tapahtumaohjattujen integraatioiden luomiseen AWS-tilillänne. Harjoittelet Serverless-kehitys AWS Lambdalla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Serverless-kehitys AWS Lambdalla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Serverless-kehitys AWS Lambdalla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Amazon EventBridgen integrointi”-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ä Serverless-kehitys AWS Lambdalla-oppitunnilla?
Kyllä. Jokainen Serverless-kehitys AWS Lambdalla-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
- Tapahtumaohjattujen mikropalvelujen rakentaminen
- Amazon EventBridgen integrointi
- Reaaliaikainen käsittely Kinesiksellä
- Saga-malli hajautetuille transaktioille