<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Narravula Muni Sai Teja</title>
    <description>The latest articles on DEV Community by Narravula Muni Sai Teja (@narravulamunisaiteja070).</description>
    <link>https://dev.to/narravulamunisaiteja070</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3028280%2F55c11cb6-e91c-49d3-a996-4a80b24c7f51.jpeg</url>
      <title>DEV Community: Narravula Muni Sai Teja</title>
      <link>https://dev.to/narravulamunisaiteja070</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/narravulamunisaiteja070"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Narravula Muni Sai Teja</dc:creator>
      <pubDate>Wed, 11 Jun 2025 11:48:08 +0000</pubDate>
      <link>https://dev.to/narravulamunisaiteja070/-197l</link>
      <guid>https://dev.to/narravulamunisaiteja070/-197l</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn" class="crayons-story__hidden-navigation-link"&gt;Your Guide to Cracking the EKS Architecture&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/narravulamunisaiteja070" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3028280%2F55c11cb6-e91c-49d3-a996-4a80b24c7f51.jpeg" alt="narravulamunisaiteja070 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/narravulamunisaiteja070" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Narravula Muni Sai Teja
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Narravula Muni Sai Teja
                
              
              &lt;div id="story-author-preview-content-2584502" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/narravulamunisaiteja070" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3028280%2F55c11cb6-e91c-49d3-a996-4a80b24c7f51.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Narravula Muni Sai Teja&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 11 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn" id="article-link-2584502"&gt;
          Your Guide to Cracking the EKS Architecture
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/kubernetes"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;kubernetes&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/eks"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;eks&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/containers"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;containers&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt; reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>kubernetes</category>
      <category>eks</category>
      <category>containers</category>
      <category>aws</category>
    </item>
    <item>
      <title>Your Guide to Cracking the EKS Architecture</title>
      <dc:creator>Narravula Muni Sai Teja</dc:creator>
      <pubDate>Wed, 11 Jun 2025 10:49:35 +0000</pubDate>
      <link>https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn</link>
      <guid>https://dev.to/narravulamunisaiteja070/your-guide-to-cracking-the-eks-architecture-35jn</guid>
      <description>&lt;p&gt;&lt;strong&gt;EKS looks scary?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No worries — we’ve got the map! Let’s navigate nodes, pods, and clusters the easy way. &lt;/p&gt;

&lt;p&gt;Every EKS cluster will have a &lt;strong&gt;single endpoint URL&lt;/strong&gt; used by tools such as kubectl, the main Kubernetes client.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Free3uqaoi5mmqa6dk81w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Free3uqaoi5mmqa6dk81w.png" alt="Image description" width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Understanding the EKS control plane&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a new cluster is created, a new control plane is created in an AWS-owned VPC in a separate account. There are a minimum of two API servers per control plane, spread across two Availability Zones for resilience, which are then exposed through a public &lt;strong&gt;network load balancer (NLB)&lt;/strong&gt;. The etcd servers are spread across three Availability Zones and configured in an &lt;br&gt;
autoscaling group, again for resilience.&lt;/p&gt;

&lt;p&gt;The clusters administrators and/or users have no direct access to the cluster’s servers; they can only access the K8s API through the load balancer. The API servers are integrated with the worker nodes running under a different account/VPC owned by the customer by creating Elastic Network Interfaces (ENIs) in two Availability Zones. The kubelet agent running on the worker nodes uses a Route 53 private hosted zone, attached to the worker node VPC, to resolve the IP addresses associated with the ENIs. The following diagram illustrates this architecture:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwx7thruozfvirs78rkxi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwx7thruozfvirs78rkxi.png" alt="Image description" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.The API Server Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The API server acts as the communication gateway for both internal cluster components and external clients or services that seek access to the cluster. It is the sole interface through which all agents, users, or services interact with the components within the cluster. The cluster components themselves can only communicate with each other through the API server. It has exclusive access to the cluster database (etcd) which keeps the critical cluster metadata, secrets and other necessary information for cluster management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.The ETCD Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An EKS cluster is a distributed system where several nodes or instances work together to run a workload.2 Distributed systems are susceptible to failures due to their complex interconnections. To recover from such failures, EKS relies on the data stored in the etcd key-value database to maintain the clusters in their desired states. The etcd database holds critical metadata and essential information required to maintain the desired state of EKS clusters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.The Controller Manager Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The controller manager component is the mother of all cluster controllers. It manages the object or cluster controllers. Cluster or object controllers maintain the desired state of their respective cluster objects. They include the node controller which monitors the health of cluster nodes and manages their lifecycle, the replication controller which maintains the desired number of pod replicas in the cluster, the endpoint controller which manages the mapping of services to pods, and the service account and token controllers which manage service accounts and their associated tokens.&lt;/p&gt;

&lt;p&gt;Typically, controllers monitor events such as create, update, and delete on resources and trigger appropriate responses to restore objects to their desired state.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Scheduler Component&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The scheduler is responsible for assigning the most appropriate node to an incoming workload or pod. It relies on decision-making algorithms and a deep understanding of the cluster environment to perform this task. The scheduler takes into account various factors, including resource requirements, hardware and software constraints, policy rules, and affinity or anti-affinity specifications to select a suitable node. Additional inputs in the decision-making process include data locality, potential inter-workload interference, and deadlines&lt;/p&gt;

&lt;p&gt;Let's Look at this picture Once:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0acgct2lnz81udxlb4vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0acgct2lnz81udxlb4vo.png" alt="Image description" width="800" height="1090"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Did You Know how the end-user Communication works....?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;End users can interact with pods or applications running on the data plane through a load balancer deployed not in the control plane but in the data plane as shown in below image. This interaction does not require a NAT or Internet gateway, regardless of the cluster configuration option.&lt;/p&gt;

&lt;p&gt;In this setup, the load balancer acts as the frontend, handling traffic from end users, while the worker nodes serve as the backend. The load balancer routes traffic from the end users to the appropriate application pods running on the worker nodes, ensuring efficient communication without exposing the internal network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgkeifbq3da328ln6maht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgkeifbq3da328ln6maht.png" alt="Image description" width="800" height="736"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Heyyyyy....!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Congrats!&lt;/strong&gt; You just turned EKS from “What the Kube?” to “I got this.”&lt;br&gt;
Keep building, keep exploring, and remember: every pod counts! &lt;br&gt;
Until next time — happy kubectl-ing!&lt;/p&gt;

&lt;p&gt;Let's Connect with me in LinkedIn: &lt;a href="https://www.linkedin.com/in/munisaiteja-narravula/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/munisaiteja-narravula/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>eks</category>
      <category>containers</category>
      <category>aws</category>
    </item>
    <item>
      <title>Serverless-AI-Chatbot-using-Bedrock Knowledgebase</title>
      <dc:creator>Narravula Muni Sai Teja</dc:creator>
      <pubDate>Mon, 28 Apr 2025 12:39:59 +0000</pubDate>
      <link>https://dev.to/narravulamunisaiteja070/serverless-ai-chatbot-using-bedrock-knowledgebase-20b0</link>
      <guid>https://dev.to/narravulamunisaiteja070/serverless-ai-chatbot-using-bedrock-knowledgebase-20b0</guid>
      <description>&lt;p&gt;&lt;strong&gt;1.Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project demonstrates how to create a fully serverless chatbot using Amazon Bedrock, Amazon Kendra, and your own documents (PDF, TXT, CSV, etc.). This chatbot uses Retrieval Augmented Generation (RAG) to generate accurate and context-aware responses based on enterprise knowledge bases. &lt;/p&gt;

&lt;p&gt;The solution is ideal for use cases such as:&lt;br&gt;
• Technical support automation&lt;br&gt;
• HR knowledge queries &lt;br&gt;
• Compliance document search &lt;br&gt;
• Enterprise data exploration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Objective&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;•Identify the key features of Amazon Bedrock, Amazon Kendra, and AWS serverless services.&lt;br&gt;
•Explain the concept of Retrieval-Augmented Generation (RAG) and how it applies to building an AI-powered chatbot.&lt;br&gt;
•Determine how to use Amazon Bedrock and Amazon Kendra to index and retrieve data from a knowledge base for chatbot interactions.&lt;br&gt;
•Demonstrate how to construct a fully functional generative AI-powered chatbot for a specific use case, integrating Amazon serverless services to efficiently handle application code execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf9jnycoktbk3cz2f8ho.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhf9jnycoktbk3cz2f8ho.png" alt="Image description" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Technology Stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Users: End-users of the chatbot &lt;br&gt;
2.Web UI: User interface for chatbot interaction&lt;br&gt;
3.AWS Amplify (React, Vue js): Manages front-end and authentication, specifically using React or Vue.js&lt;br&gt;
4.Amazon API Gateway: Handles API requests&lt;br&gt;
5.AWS Lambda (RAG/KB/LLM Functions): Executes serverless functions for Retrieval-Augmented Generation, Knowledge Base operations, and LLM interactions&lt;br&gt;
6.Amazon Bedrock: Provides access to AI models and services&lt;br&gt;
7.Large Language Models (Claude 3, Mistral, Llama etc.): AI models powering responses&lt;br&gt;
8.Knowledge Bases: Stores structured information&lt;br&gt;
9.Amazon S3: Object storage for documents and data&lt;br&gt;
10.Documents (pdf, csv, txt etc.): Various file types for ingestion&lt;br&gt;
11.Amazon OpenSearch: Vector database and search engine for efficient similarity search&lt;br&gt;
12.Amazon Cognito: User authentication and authorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Implementation (Step-by-Step)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.1 IAM Permissions and Roles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Kendra Role&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open IAM Console
Go to IAM Roles in AWS Console → Click Create role.&lt;/li&gt;
&lt;li&gt;Choose Trusted Entity
•Trusted entity type: AWS Service
•Use case: Choose Kendra
•Click Next
3.Name and Create the Role
•Role name: AmazonKendra-us-east-2-chatbot-2025 (or your naming convention)
•Click Create role&lt;/li&gt;
&lt;li&gt;Add Permissions Policy
•Click Create policy → Choose JSON tab
•Paste the following policy:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowS3ReadAccess",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-s3-bucket-name",
"arn:aws:s3:::your-s3-bucket-name/*"
]
},
{
"Sid": "AllowCloudWatchLogging",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;•Click Next, then Create policy&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Name and Create the Role
•Role name: AmazonKendra-us-east-2-chatbot-2025 (or your naming convention)
•Click Create role&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffz7u1qrt67clzp908c5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffz7u1qrt67clzp908c5.png" alt="Image description" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Lambda Execution Role&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;•Go to IAM &amp;gt; Roles &amp;gt; Create role&lt;br&gt;
•Choose AWS Service &amp;gt; Lambda &amp;gt; Click Next&lt;br&gt;
•Attach these 7 AWS managed policies:&lt;br&gt;
AmazonBedrockFullAccess&lt;br&gt;
AmazonCognitoPowerUser&lt;br&gt;
AmazonKendraFullAccess&lt;br&gt;
AmazonS3ReadOnlyAccess&lt;br&gt;
AWSLambdaBasicExecutionRole&lt;br&gt;
AmazonAPIGatewayInvokeFullAccess&lt;br&gt;
AmazonSSMReadOnlyAccess&lt;br&gt;
•Click Next → (Skip tags) → Name it Chatbot_Lambda_Role_2025 → Click Create role&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjp3m26osfcl6x58m0k8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjp3m26osfcl6x58m0k8.png" alt="Image description" width="800" height="358"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Knowledgebase_bedrock_role&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to IAM &amp;gt; Roles &amp;gt; Create role&lt;/li&gt;
&lt;li&gt;Choose AWS service &amp;gt; Bedrock (or use Custom Trust Policy if prompted for specific service access) → Click Next&lt;/li&gt;
&lt;li&gt;On Add permissions page, skip adding managed policies → Click Next&lt;/li&gt;
&lt;li&gt;Set Role name as Knowledgebase_bedrock_role → Click Create role&lt;/li&gt;
&lt;li&gt;Once created, go to the role → Click Add inline policy&lt;/li&gt;
&lt;li&gt;Go to JSON tab and paste the inline policy (see below)&lt;/li&gt;
&lt;li&gt;Click Review policy&lt;/li&gt;
&lt;li&gt;Name it knowledgebase_inline_policy → Click Create policy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80e61vf9jv4ny162d9y4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80e61vf9jv4ny162d9y4.png" alt="Image description" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.2 Create an S3 Bucket for Knowledge Documents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Amazon S3 in the AWS Console.&lt;/li&gt;
&lt;li&gt;Click on “Create bucket”.&lt;/li&gt;
&lt;li&gt;Enter a unique bucket name (Chatbot-docs-bucket000).&lt;/li&gt;
&lt;li&gt;Choose the Region where your services are hosted.&lt;/li&gt;
&lt;li&gt;Uncheck "Block all public access" (only if private access via roles is set properly).&lt;/li&gt;
&lt;li&gt;Leave other settings as default and click Create bucket.&lt;/li&gt;
&lt;li&gt;After the bucket is created:&lt;/li&gt;
&lt;li&gt;Upload 1-2 sample files (e.g., .pdf, .csv, .txt) under a folder (e.g., /knowledge/).&lt;/li&gt;
&lt;li&gt;Note the full S3 URI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3eblyo42878kgg9rsxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3eblyo42878kgg9rsxq.png" alt="Image description" width="477" height="130"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxtnyivn3u42nub2zqcf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxtnyivn3u42nub2zqcf.png" alt="Image description" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.3 Amazon Kendra Setup for GenAI Chatbot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create an Amazon Kendra Index&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Navigate to the Amazon Kendra Console:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open the Amazon Kendra Console.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select Create index to begin the index creation process.&lt;br&gt;
2.Configure the Index:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Index Name: Provide a unique name for your index, such as GenAI-Chatbot-Index.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Description: Optionally add a description for the index (e.g., "Index for enterprise knowledge base for chatbot").&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Language: Select the language for the content (e.g., English).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IAM Role: Choose an existing IAM role with necessary permissions.&lt;br&gt;
3.Review &amp;amp; Create:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review the details and click Create to finalize the index setup.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbucnxd92bbuwor39i863.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbucnxd92bbuwor39i863.png" alt="Image description" width="531" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv13yttpb2u392u1au2nu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv13yttpb2u392u1au2nu.png" alt="Image description" width="593" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futt4wjjvbif7seowbxi1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Futt4wjjvbif7seowbxi1.png" alt="Image description" width="800" height="32"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Configure Data Sources for Kendra Index&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Choose a Data Source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After the index is created, select Data sources from the Kendra console.&lt;/li&gt;
&lt;li&gt;Click Add data source to start the configuration for content ingestion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.Select the Content Source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose S3 as the data source for your documents (PDFs, CSVs, TXT files).&lt;/li&gt;
&lt;li&gt;Enter a name for the data source (e.g., S3-Documents).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.Configure S3 Data Source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S3 Bucket: Provide the S3 bucket where your documents are stored.&lt;/li&gt;
&lt;li&gt;Access Role: Specify an IAM role with permissions to read from the S3 bucket.&lt;/li&gt;
&lt;li&gt;Document Metadata: Configure metadata fields if necessary (e.g., author, document type).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fal4m64yzdh6tbudquea5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fal4m64yzdh6tbudquea5.png" alt="Image description" width="800" height="153"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnztksv9xis4seqkbk8q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnztksv9xis4seqkbk8q.png" alt="Image description" width="800" height="79"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Create Data Source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review the settings and click Create to complete the data source setup.&lt;/li&gt;
&lt;li&gt;Start Sync.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6q5cmdqx3bg6wbbhxcp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6q5cmdqx3bg6wbbhxcp.png" alt="Image description" width="549" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg33jlx02dw0uu2hmix6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg33jlx02dw0uu2hmix6z.png" alt="Image description" width="800" height="111"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.4 Create a Bedrock Knowledge Base&lt;/p&gt;

&lt;p&gt;1.Go to Bedrock Console:&lt;a href="https://console.aws.amazon.com/bedrock/home" rel="noopener noreferrer"&gt;https://console.aws.amazon.com/bedrock/home&lt;/a&gt;&lt;br&gt;
2.Navigate:In the left panel, click "Knowledge bases" → "Create knowledge base"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgb3v5utdyo4uyad6qfu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgb3v5utdyo4uyad6qfu.png" alt="Image description" width="689" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Basic Info:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name: Hello-chatbot&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Description: (Optional) GenAI chatbot with RAG using Bedrock&lt;br&gt;
4.IAM Permissions:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose "Create and use a new IAM role"&lt;br&gt;
(Or use existing role like Knowledgebase_bedrock_role)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5.Embeddings Model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provider: Amazon&lt;/li&gt;
&lt;li&gt;Model: Titan Text Embeddings V2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa10yiszhu6o6xcmhw7ub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa10yiszhu6o6xcmhw7ub.png" alt="Image description" width="553" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.Vector Store:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose Amazon OpenSearch Serverless (recommended)
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1tuhc8dmga5hpexpu6q.png" alt="Image description" width="800" height="69"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;7.Set Up Data Source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select your bucket name or Amazon Kendra as a data source for knowledge base.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9pzfujff716pzaeojtk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9pzfujff716pzaeojtk.png" alt="Image description" width="785" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8.Review &amp;amp; Create:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review all settings&lt;/li&gt;
&lt;li&gt;Click "Create knowledge base"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frr9y0pitg52sl6z4rby3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frr9y0pitg52sl6z4rby3.png" alt="Image description" width="512" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After Successfully creation you need to sync the knowledge base to the data source for chatbot to give the answers for your questions as per you documents.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvm8tw6e3ftw1u6girus.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjvm8tw6e3ftw1u6girus.png" alt="Image description" width="547" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b7bjj85dqsr6ot2kicu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6b7bjj85dqsr6ot2kicu.png" alt="Image description" width="560" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Let’s check the Results BOOM……..!&lt;/strong&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwv8jhpngwe8nuzyk0l5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwv8jhpngwe8nuzyk0l5k.png" alt="Image description" width="420" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpprz4sew1t3ncw29uupp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpprz4sew1t3ncw29uupp.png" alt="Image description" width="345" height="518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzl9aphyd8mc9p7bzexg6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzl9aphyd8mc9p7bzexg6.png" alt="Image description" width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Serverless OpenSearch vector Database for Knowledge Base&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is Created Automatically During the creation on Bedrock Knowledge Base.
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxzo06k5uxx6z80jb3b74.png" alt="Image description" width="800" height="127"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's Very Simple To create AI Chatbot Using &lt;strong&gt;Amazon Bedrock&lt;/strong&gt; with Your Natural data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.5 AWS Lambda Function for Chatbot Logic&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Lambda Console.&lt;/li&gt;
&lt;li&gt;Click Create function.&lt;/li&gt;
&lt;li&gt;Choose Author from scratch:&lt;/li&gt;
&lt;li&gt;Name the lambda function.&lt;/li&gt;
&lt;li&gt;Runtime: Python 3.12 or Node.js (your choice)&lt;/li&gt;
&lt;li&gt;Assign a role with Kendra &amp;amp; Bedrock access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzod8ttwyxp7d6fhwyqy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzod8ttwyxp7d6fhwyqy6.png" alt="Image description" width="509" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.6 Create API with Amazon API Gateway&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to API Gateway Console.&lt;/li&gt;
&lt;li&gt;Click Create API → Choose HTTP API.&lt;/li&gt;
&lt;li&gt;Add a route:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Method: POST&lt;/li&gt;
&lt;li&gt;Path: /ask&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Integration:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Choose Lambda function (select your chatbot Lambda).&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Enable CORS.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Click Next → Review → Click Create.&lt;/li&gt;
&lt;li&gt;Copy the Invoke URL (you’ll use it in frontend).
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ferq5hh9oqlj9b2jm35s8.png" alt="Image description" width="426" height="58"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh5kzprykv2hn533uzpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh5kzprykv2hn533uzpp.png" alt="Image description" width="800" height="149"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.7 Cognito User Pools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a User Pool: Go to the Amazon Cognito Console, select Create a User Pool, name it (e.g., webapp-userpool), and configure email as a required attribute with email verification enabled.&lt;/li&gt;
&lt;li&gt;Add a User: Under the Users and groups tab, click Create user, enter the user’s email, and set Email verified to Yes.&lt;/li&gt;
&lt;li&gt;Confirm: Check the Users tab, ensuring the user appears with Email verified set to Yes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80bebss61uphfe17a07f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80bebss61uphfe17a07f.png" alt="Image description" width="800" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdj0t0i4uz8nrl694q9w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftdj0t0i4uz8nrl694q9w.png" alt="Image description" width="639" height="177"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybo4u549qvkayvrqnfw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybo4u549qvkayvrqnfw4.png" alt="Image description" width="576" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.8 Deploy Web UI Using AWS Amplify&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to AWS Amplify Console.&lt;/li&gt;
&lt;li&gt;Click Get Started under Host a Web App.&lt;/li&gt;
&lt;li&gt;Connect your frontend GitHub repo,s3 or Zipfolder.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;For Zip Folder select Deploy Without git Option.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3802yyq9kme647ybuqcj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3802yyq9kme647ybuqcj.png" alt="Image description" width="768" height="255"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp70ky8jqrzeh60rcbbvb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp70ky8jqrzeh60rcbbvb.png" alt="Image description" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose branch → Amplify auto-detects framework.&lt;/li&gt;
&lt;li&gt;Configure build settings (default works for React).&lt;/li&gt;
&lt;li&gt;Deploy.&lt;/li&gt;
&lt;li&gt;App is now live → Connect it to API Gateway &amp;amp; Cognito.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00zdsksap65c9yktktgx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00zdsksap65c9yktktgx.png" alt="Image description" width="800" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Rock On Yeahh…….!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fky5kc00wb0z1tcwo2o15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fky5kc00wb0z1tcwo2o15.png" alt="Image description" width="559" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkcos0bppt8r6kzlr7ud.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkcos0bppt8r6kzlr7ud.png" alt="Image description" width="533" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This serverless chatbot architecture offers a powerful and flexible approach to enterprise-level conversational search using Retrieval-Augmented Generation (RAG). With scalable cloud-native services, you can build intelligent assistants that understand and retrieve contextually accurate responses, powered by your own documents. &lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Use this project to: *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhance customer and employee support &lt;/li&gt;
&lt;li&gt;Provide intelligent knowledge base interfaces &lt;/li&gt;
&lt;li&gt;Automate internal data discovery workflows
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GitHub Repo Link:&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://github.com/Narravula070/Serverless-AI-Chatbot-using-Bedrock.git" rel="noopener noreferrer"&gt;https://github.com/Narravula070/Serverless-AI-Chatbot-using-Bedrock.git&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Follow Me on LinkedIn:&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/munisaiteja-narravula/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/munisaiteja-narravula/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Learning and Deep Dive into AI Technologies for Future ....!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>bedrock</category>
      <category>ai</category>
      <category>aws</category>
      <category>serverless</category>
    </item>
    <item>
      <title>First Lambda Function</title>
      <dc:creator>Narravula Muni Sai Teja</dc:creator>
      <pubDate>Thu, 24 Apr 2025 10:00:10 +0000</pubDate>
      <link>https://dev.to/narravulamunisaiteja070/first-lambda-function-3930</link>
      <guid>https://dev.to/narravulamunisaiteja070/first-lambda-function-3930</guid>
      <description>&lt;p&gt;&lt;strong&gt;AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers. You just upload your function, and it automatically runs in response to events.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run code without servers — just write your function, upload it, and it runs automatically in response to events (like API calls, file uploads, DB changes).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Uses:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API backends&lt;/li&gt;
&lt;li&gt;File/image processing&lt;/li&gt;
&lt;li&gt;Automation tasks&lt;/li&gt;
&lt;li&gt;Real-time data handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You only pay when it runs — no need to manage servers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It's Time to Create Your First Lambda Function&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;In the AWS Management Console search bar, enter Lambda, and click the Lambda result under Services:
You will see a page load that welcomes you to the AWS Lambda service:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flekev7dgbkxep08qoxo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flekev7dgbkxep08qoxo1.png" alt="Image description" width="780" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Create a function to start creating your first AWS Lambda function.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fropfsl3p5mjodxhzqt13.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fropfsl3p5mjodxhzqt13.png" alt="Image description" width="455" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Select Author from scratch and enter the basic details&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00nqtzjds4ngvhrszooo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F00nqtzjds4ngvhrszooo.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Name: Hello Lambda&lt;br&gt;
Runtime: Node.js 22.x&lt;br&gt;
Permissions: Click Change default execution role&lt;br&gt;
Execution Role: Select Use an existing role&lt;br&gt;
Existing role: Select the role beginning with Your lambda role&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;  Create role with Lambda Full access&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click Create function.&lt;/li&gt;
&lt;li&gt;Scroll down to the Code source section and replace the contents of the index.mjs with the following code:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("Loading function");
export const handler = async (event, context) =&amp;gt; {
  console.log(JSON.stringify(event, null, 2));
  const message = JSON.parse(event.Records[0].Sns.Message);
  if (message.cook_secs &amp;lt; message.req_secs) {
    const messageText = message.pre
      ? `User ended ${message.pre} preset early`
      : "Hello RCB.. Ee Sala Cup Namdu";
    context.succeed(messageText);
  }
  context.succeed();
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Click Deploy at the top to save and deploy the Lambda function.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzeu635z4qbpfmr04mxic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzeu635z4qbpfmr04mxic.png" alt="Image description" width="429" height="36"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's test the Lambda Code:&lt;/strong&gt;&lt;br&gt;
The code you used in the previous lab step reads an incoming SNS message and parses the JSON body to be analyzed (line 4), then checks if the microwave was stopped before the requested number of seconds (line 5), and finally if a preset was used or not (lines 6-8)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To begin creating a test event, click Test and Create new test event.&lt;/li&gt;
&lt;li&gt;In the form, enter the following values:
Event name: 
Event JSON: Enter the following JSON into the event editor at the bottom of the form:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Records": [
    {
      "EventSource": "aws:sns",
      "EventVersion": "1.0",
      "EventSubscriptionArn": "arn:aws:sns:EXAMPLE",
      "Sns": {
        "Type": "Notification",
        "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e",
        "TopicArn": "arn:aws:sns:EXAMPLE",
        "Subject": "TestInvoke",
        "Message": "{\"gid\":\"foo1234\",\"cook_secs\":90,\"req_secs\":150,\"cmds\":[2,3,0,\"start\"]}",
        "Timestamp": "1970-01-01T00:00:00.000Z",
        "SignatureVersion": "1",
        "Signature": "EXAMPLE",
        "SigningCertUrl": "EXAMPLE",
        "UnsubscribeUrl": "EXAMPLE",
        "MessageAttributes": {
          "Test": {
            "Type": "String",
            "Value": "TestString"
          },
          "TestBinary": {
            "Type": "Binary",
            "Value": "TestBinary"
          }
        }
      }
    }
  ]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Click on save To save the test.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg903armb41n719lrzkzm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg903armb41n719lrzkzm.png" alt="Image description" width="465" height="52"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the test button to test the Lambda Function.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73aizmzaqr8nuuic3ah0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73aizmzaqr8nuuic3ah0.png" alt="Image description" width="681" height="232"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom..... You successfully Completed the creation and testing your first Lambda Function.&lt;/p&gt;

&lt;p&gt;Follow me on LinkedIn:&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/munisaiteja-narravula/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/munisaiteja-narravula/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learn the Serverless Concepts to reduce costs in Your Account.&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>aws</category>
      <category>lambda</category>
    </item>
  </channel>
</rss>
