லாம்ப்டாவுடன் DynamoDB ஸ்ட்ரீம்கள்

Lamptavutan Dynamodb Strimkal



DynamoDB ஸ்ட்ரீம்கள் என்பது Amazon DynamoDB இல் உள்ள ஒரு அம்சமாகும், இது உங்கள் DynamoDB அட்டவணையில் செய்யப்படும் மாற்றங்கள் அல்லது தரவு மாற்றங்களின் நிகழ்நேர ஸ்ட்ரீமைப் பெற உங்களை அனுமதிக்கிறது. தற்காலிக சேமிப்புகளைப் புதுப்பித்தல் மற்றும் அறிவிப்புகளை அனுப்புதல் போன்ற DynamoDB அட்டவணையில் தரவு மாற்றங்களுக்கு எதிர்வினையாற்றும் பயன்பாடுகளை உருவாக்க இந்த அம்சத்தைப் பயன்படுத்தலாம்.

நிச்சயமாக, நீங்கள் கீழ்நிலை செயல்முறைகள் மற்றும் AWS லாம்ப்டா செயல்பாடுகளைத் தூண்டுவதற்கு DynamoDB ஸ்ட்ரீம்களைப் பயன்படுத்தலாம். Lambda, வரையறையின்படி, ஒரு சர்வர்லெஸ் கம்ப்யூட் சேவையாகும், இது நிகழ்வுகளுக்கு பதிலளிக்கும் வகையில் உங்கள் குறியீட்டை இயக்குகிறது மற்றும் உங்களுக்கான கணக்கீட்டு ஆதாரங்களை தானாகவே நிர்வகிக்கிறது.

ஸ்ட்ரீம் பதிவுகளைச் செயல்படுத்தவும், தகுந்த நடவடிக்கைகளை எடுக்கவும் Node.js, Python, Java அல்லது C# இல் குறியீட்டை எழுத Lambda ஐப் பயன்படுத்தலாம். லாம்ப்டாவுடன் DynamoDB ஸ்ட்ரீம்களை ஒருங்கிணைப்பதன் முக்கிய நன்மை என்னவென்றால், நிர்வாகம் தேவையில்லாமல் ஆதரிக்கப்பட்ட சேவைகள் அல்லது பயன்பாட்டுக் குறியீடுகளை இயக்க லாம்ப்டா உங்களை அனுமதிக்கிறது.







Lambda உடன் AWS DynamoDB ஸ்ட்ரீம்களை எவ்வாறு பயன்படுத்துவது

DynamoDB ஸ்ட்ரீமில் இருந்து நிகழ்வுகள் மற்றும் நிகழ்வுகளை நுகரும் லாம்ப்டா செயல்பாட்டை உருவாக்குவது சாத்தியம் என்றாலும், இந்த செயல்முறை மிகவும் பணிபுரியும், குறிப்பாக உங்கள் முதல் முயற்சியில். பின்வரும் படிகள் உதவும்:



படி 1: உங்கள் கணினி முன்நிபந்தனைகளைப் பூர்த்திசெய்கிறதா என்பதை உறுதிப்படுத்தவும்

அடிப்படை Lambda செயல்பாடுகள் மற்றும் செயல்முறைகள் உங்களுக்குத் தெரிந்தால் மட்டுமே இந்த செயல்முறை வெற்றிகரமாக இருக்கும். எனவே, லாம்ப்டா பற்றிய உங்கள் புரிதல் சராசரிக்கு மேல் இருப்பதை உறுதிசெய்வதில் இதுவே உங்கள் முதல் விஷயமாக இருக்க வேண்டும்.



கருத்தில் கொள்ள வேண்டிய இரண்டாவது முன்நிபந்தனை உங்கள் கணினியின் AWS பதிப்பை உறுதிப்படுத்துகிறது. நீங்கள் பின்வரும் கட்டளையைப் பயன்படுத்தலாம்:





aws - பதிப்பு

வழங்கப்பட்ட கட்டளையின் முடிவு இப்படி இருக்க வேண்டும்:

aws-cli/ 2 .x.x பைதான்/ 3 .x.x லினக்ஸ்/ 4 .x.x-xxx-std botocore/ 2 .x.x

கொடுக்கப்பட்ட மாதிரி பதிலில் AWS CLI இன் நிறுவப்பட்ட பதிப்பு உள்ளது ( aws-cli/2.x.x ), பைதான் பதிப்பு ( பைதான்/3.x.x ), மற்றும் இயக்க முறைமை ( லினக்ஸ்/4.x.x-xxx-std ) பதிலின் இறுதிப் பகுதி உங்கள் AWS CLI இயங்கும் போடோகோர் நூலகப் பதிப்பை வரையறுக்கிறது ( போடோகோர்/2.x.x )



எனவே, நீங்கள் இதைப் போன்ற ஒன்றை முடிப்பீர்கள்:

படி 2: செயல்படுத்தும் பாத்திரத்தை உருவாக்கவும்

அடுத்த படி AWS CLI இல் செயல்படுத்தும் பாத்திரத்தை உருவாக்குவது. செயல்படுத்தும் பாத்திரம் என்பது AWS அடையாளம் மற்றும் அணுகல் மேலாண்மை (IAM) என்பது உங்கள் சார்பாக பணிகளைச் செய்ய AWS சேவையால் கருதப்படுகிறது. இது உங்களுக்கு தேவையான AWS ஆதாரங்களுக்கான அணுகலை வழங்குகிறது.

பின்வரும் கட்டளையைப் பயன்படுத்தி நீங்கள் ஒரு பாத்திரத்தை உருவாக்கலாம்:

aws iam create-role \

--role-name LambdaDynamoDBExecutionRole \

--assume-role-policy-document file://assume-role-policy.json \

--விளக்கம் 'AWSLambdaDynamoDBExecutionRole' \\

--சேவை-பெயர் lambda.amazonaws.com

முந்தைய கட்டளை ஒரு பாத்திரத்தை உருவாக்க AWS CLI கட்டளையாகும். நீங்கள் ஒரு பாத்திரத்தை உருவாக்க Amazon Management Consoleஐயும் பயன்படுத்தலாம். நீங்கள் IAM கன்சோலில் வந்ததும், திறக்கவும் பாத்திரங்கள் பக்கம் மற்றும் கிளிக் செய்யவும் பாத்திரத்தை உருவாக்குங்கள் பொத்தானை.

பின்வருவனவற்றை உள்ளிட தொடரவும்:

  • நம்பகமான நிறுவனம்: லாம்ப்டா
  • பாத்திரத்தின் பெயர்: lambda-dynamodb-role
  • அனுமதிகள்: AWSLambdaDynamoDBExecutionRole

பைத்தானுக்கு முதலில் AWS SDK ஐ நிறுவுவதன் மூலமும் நீங்கள் பைத்தானைப் பயன்படுத்தலாம்:

பிப் நிறுவல் boto3

படி 3: உங்கள் மேசையில் DynamoDB ஸ்ட்ரீம்களை இயக்கவும்

உங்கள் டேபிளில் உள்ள DynamoDB ஸ்ட்ரீம்களை இயக்க வேண்டும். இந்த விளக்கத்திற்கு, பைத்தானுக்கு Boto3, AWS SDK ஐப் பயன்படுத்துகிறோம். பின்வரும் கட்டளை உதவும்:

boto3 இறக்குமதி

# DynamoDB சேவையுடன் இணைக்கவும்
dynamodb = boto3.client( 'டைனமோட்பி' )

# 'மை-டேபிள்' டேபிளில் டைனமோடிபி ஸ்ட்ரீம்களை இயக்கவும்
பதில் = dynamodb.update_table(
அட்டவணை பெயர்= 'mytable' ,
ஸ்ட்ரீம் விவரக்குறிப்பு={
'ஸ்ட்ரீம் இயக்கப்பட்டது' : உண்மை,
'ஸ்ட்ரீம்வியூ வகை' : 'NEW_AND_OLD_IMAGES'
}
)

# ஸ்ட்ரீம் வெற்றிகரமாக இயக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்த பதிலைச் சரிபார்க்கவும்
பதில் என்றால்[ 'ஸ்ட்ரீம் விவரக்குறிப்பு' ][ 'ஸ்ட்ரீம் இயக்கப்பட்டது' ]:
அச்சு ( 'DynamoDB ஸ்ட்ரீம் வெற்றிகரமாக இயக்கப்பட்டது' )
வேறு:
அச்சு ( 'DynamoDB ஸ்ட்ரீமை இயக்குவதில் பிழை' )

இந்தக் குறியீடு DynamoDB ஸ்ட்ரீமை 'மைட்டபிள்' டேபிளில் செயல்படுத்துகிறது, இது உருப்படிகளின் புதிய மற்றும் பழைய படங்களை ஏதேனும் மாற்றங்கள் ஏற்பட்டவுடன் ஸ்ட்ரீம் செய்கிறது. StreamViewType 'NEW_IMAGE' க்கு வந்தவுடன் புதிய படங்களை ஸ்ட்ரீம் செய்ய மட்டுமே நீங்கள் தேர்வு செய்யலாம்.

குறிப்பிடத்தக்க வகையில், இந்தக் குறியீட்டை இயக்குவது சிறிது நேரத்திற்குப் பிறகு உங்கள் டேபிள்களில் ஸ்ட்ரீம்களை இயக்கலாம். மாறாக, செயல்முறை சிறிது நேரம் ஆகலாம். ஸ்ட்ரீமின் நிலையைச் சரிபார்க்க, விவரிக்கும்_அட்டவணை முறையைப் பயன்படுத்தலாம்.

படி 4: லாம்ப்டா செயல்பாட்டை உருவாக்கவும்

அடுத்த கட்டம் DynamoDB ஸ்ட்ரீமைத் தூண்டும் Lambda செயல்பாட்டை உருவாக்குகிறது. பின்வரும் படிகள் உதவ வேண்டும்:

  • AWS Lambda கன்சோலைத் திறந்து, 'செயல்பாட்டை உருவாக்கு' தாவலைக் கிளிக் செய்யவும். 'செயல்பாட்டை உருவாக்கு' பக்கத்தில், 'புதிதாக ஆசிரியர்' என்பதைத் தேர்ந்தெடுத்து, உங்கள் செயல்பாட்டிற்கான பெயரை உள்ளிடவும். இந்த இடத்தில் உங்கள் இயக்க நேரத்தையும் உள்ளிட வேண்டும். இந்த விளக்கத்திற்கு பைத்தானைத் தேர்ந்தெடுத்தோம்.
  • உங்கள் லாம்ப்டா செயல்பாட்டிற்குத் தேவையான அனுமதிகளுடன் IAM பங்கை உருவாக்க, 'செயல்படுத்தும் பாத்திரத்தைத் தேர்ந்தெடு அல்லது உருவாக்கு' என்பதன் கீழ், 'அடிப்படை லாம்ப்டா அனுமதிகளுடன் புதிய பாத்திரத்தை உருவாக்கு' என்பதைத் தேர்ந்தெடுக்கவும்.
  • உங்கள் லாம்ப்டா செயல்பாட்டை உருவாக்க, 'செயல்பாட்டை உருவாக்கு' பொத்தானைக் கிளிக் செய்யவும்.
  • உங்கள் செயல்பாட்டிற்கான 'உள்ளமைவு' பக்கத்தில், 'வடிவமைப்பாளர்' பகுதிக்கு கீழே உருட்டி, 'தூண்டுதலைச் சேர்' தாவலைக் கிளிக் செய்யவும்.
  • தோன்றும் 'Trigger configuration' பெட்டியில், 'Trigger' கீழ்தோன்றும் மெனுவிலிருந்து 'DynamoDB' என்பதைத் தேர்ந்தெடுக்கவும்.
  • செயல்பாட்டைத் தூண்டுவதற்கு நீங்கள் பயன்படுத்த விரும்பும் DynamoDB அட்டவணையைத் தேர்ந்தெடுக்கவும். முடிந்ததும், அட்டவணையின் அனைத்து புதுப்பிப்புகளிலும் செயல்பாடு தூண்டப்பட வேண்டுமா அல்லது குறிப்பிட்ட புதுப்பிப்புகளில் (குறிப்பிட்ட நெடுவரிசைகளுக்கான புதுப்பிப்புகள் போன்றவை) மட்டும் செயல்பட வேண்டுமா என்பதைத் தேர்வுசெய்யவும்.
  • தூண்டுதலை உருவாக்க, 'சேர்' பொத்தானைக் கிளிக் செய்யவும்.
  • 'செயல்பாடு குறியீடு' எடிட்டரில், உங்கள் செயல்பாட்டிற்கான பைதான் குறியீட்டை எழுதவும். செயல்பாட்டைத் தூண்டும் தரவை அணுக, உங்கள் செயல்பாட்டிற்கு அனுப்பப்பட்ட நிகழ்வுப் பொருளைப் பயன்படுத்தலாம்.
  • செயல்பாட்டைச் சேமிக்க 'சேமி' பொத்தானைக் கிளிக் செய்யவும்.

லாம்ப்டா செயல்பாட்டை உருவாக்கும்போது அவ்வளவுதான்! குறிப்பிடப்பட்ட DynamoDB அட்டவணையில் புதுப்பிப்புகள் இருக்கும்போதெல்லாம் உங்கள் செயல்பாடு இப்போது தூண்டப்படுகிறது.

DynamoDB ஸ்ட்ரீம் தூண்டக்கூடிய எளிய பைதான் செயல்பாட்டின் எடுத்துக்காட்டு இங்கே:

def lambda_handler(நிகழ்வு, சூழல்):

நிகழ்வில் பதிவுக்காக[ 'பதிவுகள்' ]:

அச்சு (பதிவு[ 'டைனமோட்பி' ][ 'புதிய படம்' ])

இந்தச் செயல்பாடு நிகழ்வுப் பொருளில் உள்ள பதிவுகள் மூலம் மீண்டும் செயல்படுத்துகிறது மற்றும் செயல்பாட்டைத் தூண்டும் DynamoDB அட்டவணையில் உருப்படியின் புதிய படத்தை அச்சிடுகிறது.

படி 5: லாம்ப்டா செயல்பாட்டை சோதிக்கவும்

DynamoDB ஸ்ட்ரீம் தூண்டக்கூடிய லாம்ப்டா செயல்பாட்டைச் சோதிக்க, நீங்கள் இதைப் பயன்படுத்தலாம் boto3 DynamoDB API ஐ அணுக நூலகம் மற்றும் அழைக்கவும் முறை லாம்ப்டா செயல்பாட்டைத் தூண்டுவதற்கு கிளையன்ட்.

அதை எப்படி செய்வது என்பதற்கான எடுத்துக்காட்டு இங்கே:

boto3 இறக்குமதி

# DynamoDB சேவையுடன் இணைக்கவும்
dynamodb = boto3.client( 'டைனமோட்பி' )

# லாம்ப்டா சேவையுடன் இணைக்கவும்
lambda_client = boto3.client( 'லாம்ப்டா' )

# 'மை-டேபிள்' அட்டவணையில் ஒரு பொருளைச் செருகவும்
பதில் = dynamodb.put_item(
அட்டவணை பெயர்= 'mytable' ,
பொருள்={
'ஐடி' :{ 'என்' : '123' },
'பெயர்' :{ 'எஸ்' : 'ஜோயல் ஆஸ்டின்},
'
வயது ':{' என் ':' 3. 4 '}
}
)

# உருப்படி வெற்றிகரமாகச் செருகப்பட்டதை உறுதிசெய்ய, பதிலைச் சரிபார்க்கவும்
பதில் என்றால்['
பதில் மெட்டாடேட்டா '][' HTTPStatusCode '] == 200:
அச்சு ('உருப்படி வெற்றிகரமாக செருகப்பட்டது')
வேறு:
அச்சு ('உருப்படியைச் செருகுவதில் பிழை')

# 'க்கு குழுசேர்ந்த லாம்ப்டா செயல்பாட்டைத் தூண்டவும்
என்-டேபிள் ' மேசை
பதில் = lambda_client.invoke(
Function,
அழைப்பின் வகை='
நிகழ்வு ',
பதிவு வகை='
வால் ',
பேலோடு='
{ 'பதிவுகள்' :[{ 'டைனமோட்பி' :{ 'புதிய படம்' :{ 'ஐடி' :{ 'N' : '123' }, 'பெயர்' :{ 'எஸ்' : 'ஜோயல் ஆஸ்டின்' }, 'வயது' :{ 'N' : '3. 4' }}}}]} '
)

# செயல்பாடு வெற்றிகரமாகத் தூண்டப்பட்டதா என்பதை உறுதிப்படுத்த பதிலைச் சரிபார்க்கவும்
பதில் என்றால்['
நிலைக் குறியீடு '] == 202:
அச்சு ('லாம்ப்டா செயல்பாடு வெற்றிகரமாக தூண்டப்பட்டது')
வேறு:
அச்சு ('லாம்ப்டா செயல்பாட்டைத் தூண்டுவதில் பிழை')

இந்தக் குறியீடு முதலில் ஒரு பொருளைச் செருகும் mytable அட்டவணை பின்னர் தூண்டுகிறது என் செயல்பாடு லாம்ப்டா செயல்பாட்டைப் பயன்படுத்தி செயல்பாட்டிற்கு மாதிரி நிகழ்வு பேலோடை அனுப்புகிறது அழைக்கவும் முறை. நிகழ்வு பேலோட் டைனமோடிபி ஸ்ட்ரீம் நிகழ்வை உருவகப்படுத்துகிறது, அதில் இப்போது செருகப்பட்ட உருப்படியின் புதிய படம் அடங்கும்.

லாம்ப்டா செயல்பாட்டின் பதிவுகளை நீங்கள் சரிபார்த்து, நிகழ்வுத் தரவை வெற்றிகரமாகத் தூண்டி செயலாக்கினதா என்பதைப் பார்க்கவும்.

முடிவுரை

DynamoDB ஸ்ட்ரீம் ஒரு லாம்ப்டா செயல்பாட்டைத் தூண்டும் ஒரே ஸ்ட்ரீம் பதிவிற்கு நீங்கள் பல முறை அழைக்கலாம் என்பதைக் கவனத்தில் கொள்ள வேண்டியது அவசியம். இதற்குப் பின்னால் உள்ள முதன்மைக் காரணம், ஸ்ட்ரீம் பதிவுகள் இறுதியில் சீரானதாக இருக்கும், மேலும் லாம்ப்டா செயல்பாட்டின் மூலம் ஒரே பதிவை பல முறை செயலாக்க முடியும். இந்த வழக்கை சரியாகக் கையாள உங்கள் லாம்ப்டா செயல்பாட்டை வடிவமைப்பது மிகவும் முக்கியமானது.