[REPORT] Learning new skills with Amazon Q Developer [REPEAT] #DOP205-R #AWSreInvent
Overview
Experience the power of Amazon Q Developer, your AI-powered assistant for software development. In this session, explore how Amazon Q Developer can streamline your daily workflow on AWS. Stuck in the console? Open the Amazon Q Developer panel for instant assistance. Can't find your way through the documentation? Amazon Q Developer guides you effortlessly. Need help crafting CLI commands? Amazon Q Developer has you covered. Want assistance right in Slack or Microsoft Teams? Amazon Q Developer is by your side, helping you work smarter, faster, and more efficiently across your favorite tools.
REPORT
The session began with a few slides introducing Amazon Q Developer and Amazon Q.
Amazon Q Developer acts as a coding assistant that collaborates with developers, guiding them on what code to write and how to implement it effectively. Additionally, Amazon Q is available everywhere to assist you, ensuring support is always accessible wherever you work.
Amazon Q Developer
Amazon Q Developer supports developers across the SDLC
Amazon Q is available where you do your work
Hands-On
The hands-on session included the following scenarios:
Data Processing Pipeline
Complete a partially built data processing pipeline. The previous developer left minimal documentation and notes. Use Q Developer to quickly start and finalize the unfinished tasks of the data processing pipeline.
Deploy Web Application
Assist an engineering team with limited AWS experience in deploying resources for a new web application.
- Create the necessary resources for the web application in the AWS Console.
- Formalize created resources as Infrastructure as Code (IaC) for easy recreation across environments.
- Optionally, recommend EC2 instance types for web caching.
Leverage Q Developer for efficiency in completing these tasks.
Data Processing Pipeline
First, identify the Lambda functions built as part of the project. Use Amazon Q to understand the deployed Lambda functions in the account.
After identifying the Lambda functions, use Amazon Q to check and modify the function timeout to 30 seconds. Amazon Q generates CLI commands with additional information on arguments and timeout settings.
Execute the CLI command in CloudShell to update the timeout.
The timeout was successfully updated to 30 seconds.
Next, troubleshoot errors using Amazon Q. Test the Lambda function via the Lambda console and diagnose any issues.
Select Diagnose with Amazon Q to analyze the error.
From Amazon Q's Analysis
, it was identified that the issue was caused by permissions. Additionally, the Resolution
section provided detailed steps to address the problem.
After resolving the IAM role, retest the Lambda function to confirm the issue is fixed.
Next, use Amazon Q's code generation feature to create a script for an AWS Glue job. This script will handle extracting files stored in S3, transforming them, and loading them into Amazon Redshift.
Move to the AWS Glue console and select Visual ETL.
Choose Script Editor, select Spark
as the engine, and choose Start fresh
. Then select Create script
.
Using the Amazon Q chat interface, request a script for reading files from S3 and saving them to Redshift.
Amazon Q successfully generated the necessary code to complete the AWS Glue job for the data processing pipeline.
Summary
In Scenario 1, Data Processing Pipeline
, Amazon Q was used for identifying Lambda functions, modifying timeouts, troubleshooting errors, and generating code.
There were other modules, such as using Amazon Q Developer's Generative SQL
tool for Redshift data analysis and leveraging the AWS Console-to-Code
feature in Scenario 2, Deploy Web Application, to convert console actions into reusable code. However, I was unable to complete these due to time constraints.
P.S.
I have posted a blog about trying out AWS Console-to-Code
. Please take a look!