
Explore Amazon Web Services with Python and boto3, covering core services like IAM, DynamoDB, S3, RDS, EC2, Lambda, CloudFormation, SES, Elastic Beanstalk, and deploying a Django project.
Learn identity and access management (IAM) concepts, including fine-grained access control, least-privilege permissions, and creating, attaching, and detaching policies for users and groups in AWS with Python.
Discover AWS as a comprehensive cloud platform offering 200+ services and global regions. Learn how to create an AWS account with the free tier and essential sign-up steps.
Explore how AWS resources are organized into regions, availability zones, and local zones to ensure fault tolerance. Learn region selection criteria: compliance, latency, services, and cost.
Understand IAM by defining who can access which resources under what conditions, using policies to enforce least-privileged permissions across console, CLI, SDKs, and APIs.
Create an IAM user in the AWS console, configure programmatic and console access, attach administrator access, and generate access keys.
Navigate UI changes in the AWS console; they do not affect the course as the process remains the same and updates keep the material current.
Learn to manage Amazon Web Services IAM users by creating a console-access admin user, then restrict permissions with policies and test access to S3 and relational databases.
Learn how to create IAM user groups in AWS, attach policies for full or selective access (such as S3 admins), add users, and validate permissions through practical sign-in tests.
Install boto3 and configure AWS credentials for a Python project, using AWS CLI or a credentials file, and set up an IAM user with programmatic access.
Explore how IAM changes separate console access from programmatic access, using identity center for console access and access keys (and secret keys) for Python, JavaScript, or SDK workflows.
Learn to create AWS IAM users with Python and Boto3, using the IAM client to create users, print the response, and manage access keys and resources.
List all AWS IAM users with Python and Boto3 by calling list_users, iterating through the responses, and printing each user's username and ARN.
Update a user's username using Python and boto3 by creating an IAM client, providing the old and new usernames, printing the response, and validating a 202 status code.
Learn to create custom policies with python and boto3, crafting a policy document with version, statement, effect, action, and resources, then create and attach it to users.
Learn to list AWS policies with Python and boto3 by calling list_policies, filtering by scope (local, AWS managed, or customer managed), and printing policy names and ARNs.
Attach a policy to a user with python using boto3, selecting a custom or AWS managed policy, and verify the user now has the intended permissions.
Learn to detach a policy from an AWS IAM user using Python and boto3 by calling detach_user_policy with the policy ARN and username, then verify the updated user policy.
Learn how to create IAM user groups using Python and Boto3, attach policies, and add users to groups to manage permissions for relational database operations.
Learn to attach policies to IAM user groups with Python using boto3. This lesson demonstrates granting full access to two admin groups by attaching predefined policies.
Learn how to add users to an AWS IAM group with Python and boto3, including creating users and attaching them to groups via a script.
Learn how to detach a policy from a user group using Python and boto3, specify the group and policy, and verify the group no longer has the policy attached.
Create an aws iam user access key using python and boto3 with iam client. Verify the new access key appears active in security credentials.
Create an AWS IAM user with programmatic access, enable console login, and set a password using Boto3's create_login_profile to empower secure console access.
Learn how to delete an AWS IAM user with Python and boto3 by detaching policies and removing access keys before deletion, illustrated with hands-on examples.
Explore deleting a user from a group in AWS using Python and boto3, comparing the low-level client with the higher-level resource.
Use the AWS cloud shell, a browser-based terminal, to run AWS CLI commands, list IAM users, and create new IAM users within the AWS console workflow.
Create a login profile for a cloud shell IAM user to enable management console access with a password in a JSON file; sign in and note policy requirements.
Attach policies to an IAM user via Cloud Shell to grant access to services, enabling the user to create a bucket with full access or administrator access.
Learn to create an AWS access key for a user using CloudShell, obtaining the access key id and secret key for programmatic access with languages like Python and JavaScript.
Demonstrate creating groups in AWS CloudShell, adding users to groups, and defining permissions, with live updates to group names, IDs, and membership.
Create AWS IAM roles with Python and boto3, define trust policies, and issue temporary credentials for cross-account and federated access using STS.
Create a policy with boto3, define a json policy document, and attach it to an IAM role to grant s3 get object access.
Learn to create an instance profile with boto3 to attach an IAM role to an EC2 instance, granting dynamic, temporary permissions and improving security through least privilege.
Learn to add a role to an IAM instance profile using Python and Boto3, by creating an IAM client and calling add_role_to_instance_profile with the role name and profile name.
Learn how to attach an AWS IAM role to an EC2 instance using Boto3 in Python, enabling the instance to access a specific S3 bucket via an instance profile.
Learn to implement IAM time-based conditional policies with Python and boto3 to grant S3 access only during a defined start-to-end window.
Manage IAM user tags with Python and Boto3, adding, listing, and removing tags to organize users by department, project, and cost center for efficient access control and cost tracking.
Explore dynamic tv, a fully managed database service that offers fast, predictable performance with seamless scalability, and learn to create it via the console using Python.
DynamoDB is a fully managed NoSQL database service that offloads hardware provisioning, setup, replication, and patching, while using tables, items, attributes, partition and sort keys, plus hash and range attributes.
Create a DynamoDB table named article with a partition key and optional sort key like publication date, then add, update, and delete items using form or JSON.
Explore DynamoDB read and write capacity units and provisioned versus on-demand modes, and learn to configure auto scaling and use the capacity calculator to estimate costs for tables and indexes.
Explore DynamoDB's PartiQL editor to query across structured, semi-structured, and unstructured data, perform select and insert operations, use where clauses, and leverage composite or partition keys.
Learn how to use DynamoDB global secondary indexes to speed up queries on non-key attributes by creating GSIs with separate partition keys, projection types (all/keys/include), and dedicated capacity.
Insert data into a DynamoDB table using Python and boto3, creating items with put_item and optionally replacing or conditionally updating based on the primary key.
Learn to insert data into a DynamoDB table using a boto3 client, including creating the client, specifying the employee table, and supplying item attributes like mpd, name, and age.
Learn to use DynamoDB batch_writer with Python and boto3 to insert up to 25 items in a single network round trip, using a table named employee.
Describe DynamoDB table with Python and Boto3 showcases how to fetch full table metadata using describe_table, revealing creation time, status, key schema, indexes, capacity units, and ARN.
Use Python and boto3 to list DynamoDB tables with the DynamoDB client’s list_tables call, which returns an array of table names such as article and employee tables; print the response.
Learn to update a DynamoDB table with Python and Boto3, adjusting provisioned throughput (read and write capacity units) and switching between provisioned and on-demand modes.
Learn to create a DynamoDB backup with Python and boto3 by calling create_backup on a table, specify a backup name, and manage backups with delete_backup using the ARN.
learn to get a single item from a DynamoDB table with Python and boto3 using get_item, supply the partition key, and optionally return only specific attributes.
Learn to fetch up to 100 items in a single batch get operation from one or more DynamoDB tables using Python and boto3.
Learn to get an item from DynamoDB using a Python client by specifying the table name and key, then read attributes like name and age from the response.
Learn how to scan a DynamoDB table or index with Python and boto3, retrieving all items or specific attributes, optionally filtering results and handling pagination.
Learn to create a DynamoDB table programmatically with Python and boto3 by defining a movies table with year as partition key and title as sort key, including provisioned throughput.
Learn how to load a JSON file into a DynamoDB table using Python and boto3, including preparing the movies data, mapping items, and inserting records with put_item.
Retrieve a movie from a DynamoDB movies table using Python and Boto3 by getting an item with year and title, including error handling and returning the item as the response.
update movie data in dynamo with boto3 by using update_item on the movies table, setting the rating and plot via an update expression and key based on title and year.
Delete a movie from DynamoDB using Python and Boto3 by calling delete_item with a year and title key, handling responses and client errors.
Learn to query a DynamoDB table named movies using Python and Boto3, extracting movie titles by year with key condition expressions and iterating over results.
Explore Amazon simple storage service as a scalable, reliable, secure object storage solution and learn to implement features with Python and boto3 for websites, mobile apps, backups, and analytics.
Learn how Amazon S3 provides scalable, secure object storage with buckets and objects, access control lists, versioning, and optional encryption, public access settings, and basic management via the console.
Upload files to an S3 bucket, explore storage classes from standard to glacier, enable bucket versioning, server-side encryption, and object lock, manage permissions and public access via ACL and policies.
Learn to create a bucket using Python and boto3, choose a region, set an ACL, apply a location constraint when needed, and manage public access and object permissions.
Learn to create an S3 bucket with a boto3 client in Python, configure bucket ACL and location constraints, upload objects, and manage public access with ACL and policies.
Upload an image to an s3 bucket using python and boto3 by creating a client, reading the image, and invoking put_object. Configure acl, bucket name, and key, then verify access.
Learn how to list S3 buckets with Python using both client and resource interfaces, print bucket names, and understand iterating over buckets.
Learn how to delete a bucket with Python and boto3, using both client and resource approaches, including removing objects to resolve not empty errors and confirm deletion.
Learn how to delete non-empty S3 buckets with Python and boto3 by deleting objects, handling versions, and cleaning up the bucket.
Learn how to upload files to an AWS S3 bucket using Python and Boto3, including configuring bucket and object names, and verifying the upload.
Learn to download a file from an S3 bucket using Python and Boto3, by creating a bucket, S3 resource, S3 object, and saving the downloaded file locally.
Discover how to list files from an AWS bucket using Python and boto3 by creating a boto3 resource, retrieving the bucket, and printing its objects.
Use python and boto3 to filter s3 bucket listings with prefixes and object filters, retrieving specific file keys efficiently.
Learn to retrieve an S3 object's summary with Python and Boto3 by creating a resource, specifying the bucket and object key, and printing the bucket name, key, and type.
Copy an object from one bucket to another in AWS using Python and boto3, demonstrating both console-based and Python code approaches with source key and destination bucket.
Learn to delete a single or multiple objects from an S3 bucket using Python and Boto3, specifying the bucket name and object keys and interpreting the delete response.
Learn to host a static website on S3 by building a React app, uploading the built files, enabling website hosting, and attaching a bucket policy to allow get objects.
Using Python and boto3, this lecture shows how to retrieve a bucket's website configuration to host a static website and verify website hosting properties.
Learn how to delete an S3 bucket policy using Python with boto3, enabling removal of access permissions for a static website hosted in a bucket.
Delete a static website from an S3 bucket using Python and boto3 by disabling static website hosting and removing the bucket policy.
Learn how to protect Amazon S3 data in transit and at rest by configuring server-side and client-side encryption, using SSE-S3 or KMS keys, and applying bucket- or object-level encryption.
Enforce server-side encryption for S3 uploads by denying unencrypted requests with a bucket policy and demonstrating policy generation for secure put object actions.
Enable server-side encryption on an s3 bucket using python and boto3 by configuring AES-256, applying the server-side encryption configuration, and verifying encryption is enabled.
Learn to check S3 encryption with Python and Boto3, using get_bucket_encryption, and handle client errors to verify whether encryption is enabled or not.
Learn to add a bucket policy with python using boto3, including copying an existing policy, configuring the policy, converting json to string, applying with put_bucket_policy, and enforcing encryption on uploads.
Learn how to retrieve an S3 bucket policy with Python and boto3, using get_bucket_policy to obtain the complete policy, version ID, and sources.
Learn to disable or delete a bucket's default encryption in AWS S3 using Python and boto3, including creating an S3 client and calling delete_bucket_encryption.
Explore Amazon relational database service and its tools to set up, operate, and scale relational databases, including Postgres and MariaDB, and integrate Python with these databases.
Explore how Amazon RDS simplifies setting up, operating, and scaling relational databases in the cloud with DB instances, engines, and scalable storage, plus VPC, backups, and automatic recovery.
Create a MySQL database in AWS RDS using standard create with the default version, then configure storage and public access and launch to obtain the endpoint and port.
Learn how to manage AWS RDS costs by selecting the free tier, avoiding charges from incorrect templates and enabled backups, and monitoring billing across regions.
Learn to set up a MySQL database in a db instance, create databases and a person table, and perform crud operations—insert, select, update, and delete records using workbench.
Use Python and boto3 to create a MySQL RDS instance with configured name, identifier, storage, engine version, master credentials, port, and public access, then monitor until the status becomes available.
Install the my school connector library, configure host, endpoint, username, and password, then create a database in Python by executing a create database statement and confirming its creation.
Learn to verify a Python database connection using a try-except block with host, user, password, and database name, and confirm success or catch errors.
Create a Python script to connect to a MySQL database, define and create a person table with id, name, and last_name fields, and report the creation status.
Show how to display mysql tables in Python using mysql.connector by connecting, creating a cursor, executing show tables, and printing table names like person.
Learn how to insert data into a MySQL database with Python by creating a script that prompts for a name and last name, then executes a parameterized insert.
Learn to retrieve data from a MySQL database using Python by connecting to your database, selecting all rows from a specified table, and fetching and displaying the results.
Learn how to update a MySQL row with Python and a cursor: configure connection, run an update on the person table where id = 1, commit, and verify affected rows.
Learn to delete a row with Python in MySQL by deleting from a table where id = 1, using a cursor, committing the change, and handling errors.
Describe a MySQL DB instance using Python to fetch its configuration with a describe call, then print details such as storage, availability zone, backup target, and status.
Delete an AWS RDS MySQL DB instance with Python and boto3, covering instance identifier, optional final snapshot and final snapshot identifier, and retaining automated backups for seven days.
Learn to create a PostgreSQL DB instance on AWS, select PostgreSQL, use the free tier, configure storage and public access, then connect with pgAdmin.
Create a PostgreSQL database with Python by installing and importing a Postgres library, connect with user, password, host, and port, then use a cursor to create the database and commit.
Create a Python script to verify a PostgreSQL database connection by importing the library, supplying host, port, user, and password, and handling success or failure messages.
This lecture demonstrates creating a PostgreSQL table from a Python script by connecting to the database, using a cursor, and executing a create table statement with id, name, and email.
Insert data into a PostgreSQL table using Python by establishing a connection, creating a cursor, and executing an insert with name and email, then commit to reveal the data.
Connect to a PostgreSQL database with Python, create a cursor, execute select all from employ, fetch all, and iterate to print the name and email.
Delete data in PostgreSQL by preparing a cursor, executing a delete from a table with a where clause, committing, and verifying the total rows affected.
Learn to update data in PostgreSQL using Python and a cursor, crafting an update query, executing, committing, and verifying affected rows.
Create a MariaDB instance on AWS by selecting the free tier, configuring the MariaDB engine, storage (general purpose gp2), and credentials, then review endpoint, port, and publicly accessible settings.
Install the MariaDB library and connect to the MariaDB instance with Python using host, user, and password. Create a database, then a table, and insert data via a Python script.
Learn how to check a MariaDB database connection with Python by configuring host, username, password, and database, then printing the connection status and testing correct and incorrect credentials.
Learn to create a MariaDB table in Python by configuring a database connection, executing a create table statement for a person with id as the primary key, and handling exceptions.
Connect to a MariaDB database with Python, execute show tables, and print the available tables, verifying the person table exists and handling database name errors.
Learn how to insert data into the mariadb person table using Python, prompting for name and last name, using placeholders, executing the insert, and committing to save changes.
Import MariaDB and connect to the database using Python, prompt for the database and table names, execute a select all, fetch all data, and print the results.
Learn to update MariaDB data with Python by connecting to the database, creating a cursor, executing an update with a where clause, and committing changes while verifying affected records.
Delete data in MariaDB with Python: connect to the database, create a cursor, execute delete from person where id=3, commit the changes, and verify the row count.
Explore AWS RDS Oracle pricing, free tier, and licensing, compare instance sizes and storage types, and learn how Python and boto3 create Oracle databases.
discover how amazon elasticache, a fully managed in-memory caching service compatible with redis and memcached, enables real-time caching for applications and supports a free tier with t2.micro per month.
Launch an EC2 instance with Amazon Linux AMI, connect to the ElastiCache endpoint, install and verify the Redis CLI, then set and get values to test the ElastiCache connection.
Learn to leverage Amazon EC2 for scalable compute, launch flexible virtual servers, create EC2 instances on Windows or Linux, and deploy Django apps using Python and boto3.
Explore Amazon EC2 fundamentals, including launching instances, AMI templates, security groups, elastic IP address, EBS storage, and pricing models like on-demand, spot, and savings plans.
Learn to launch a linux ec2 instance with the amazon linux ami, choose free tier t2.micro, configure ebs storage, set security groups, and connect via ssh using a key pair.
Launch a Windows Server instance on AWS, select a free tier eligible t2.micro, configure storage and security groups, generate a key pair, and retrieve the password to connect.
Launch a Linux EC2 instance on AWS with Amazon Linux 2, free tier, t2 micro, and 8–30 GB EBS storage; set up a security group and key pair for Django.
Connect to an EC2 Linux instance from Windows using MobaXterm or browser-based SSH, import a private key, and configure permissions before updating packages.
Install, enable, and start MariaDB server on EC2, set the root password, disable remote access, then create a database named my database.
Install Python 3 and Django on a Linux EC2 instance, set up MariaDB server and client, install Git, and clone the Django project for deployment.
Install Django, start a Django project and app, create an article model with a title and body, migrate, register it in admin, and render articles via a template.
Deploy a Django app to an AWS EC2 instance, switch from sqlite to a new database configuration, update engine and credentials, then open port 8000 and access via public IP.
Describe EC2 instances with Python and Boto3 to verify running instances by creating an EC2 client and calling describe_instances, then inspect the response.
Create an EC2 key pair with Python using Boto3, retrieve the key material, and save it as a .pem file to securely access your instance.
Learn how to create an aws security group for an ec2 instance using python and boto3, including configuring inbound and outbound rules and specifying a vpc id.
Create inbound rules for an EC2 security group using Python and boto3, configuring tcp rules, ip ranges, and ports to control access.
Create an Amazon Linux 2 EC2 instance with Python and boto3 by configuring image ID, instance count, t2.micro type, key pair, and security group, then connect via SSH.
Learn to retrieve an EC2 instance's public IPv4 address using Python and Boto3 by describing instances and extracting the public IP in a runnable script.
Learn to list running EC2 instances using Python and Boto3 by creating an EC2 client, describing instances, and printing each running instance's ID, public IP, and private IP.
Learn how to stop a running EC2 instance with Python and boto3 by passing the instance ID to the EC2 client and inspecting the stop response.
Terminate an EC2 instance using Python and Boto3 by calling terminate_instances with the instance id and handling the response. Learn that once terminated the instance cannot be restarted.
Learn how to describe EC2 security groups with Python and boto3 by creating a script that calls describe_security_groups and prints security group names, IDs, and IP permissions.
Learn to delete an AWS EC2 security group with Python and boto3 by specifying the security group ID and calling the delete operation, including handling the response.
Delete an EC2 key pair with Python using moto3 by creating an EC2 client, specifying the key name, calling delete_key_pair, and verifying the response.
In this course we are going to learn Amazon Web Services (AWS) with Python & Boto3, so Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. Millions of customers including the fastest growing startups, largest enterprises, and leading government agencies are using AWS to lower costs. And you can use AWS with different programming languages, in this course we want to learn AWS with Python Programming language.
What is Python ?
Python is a high-level general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small- and large-scale projects
This course is divided in to different sections.
In this first section we are going to talk about IAM, so IAM is AWS Identity and Access Management. With IAM, you can specify who can access which services and resources, and under which conditions, we will create some examples with AWS console and after that we go through Python Programming Language.
In the second section we want to learn about AWS Dynamodb, so DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens
of operating and scaling a distributed database so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling. You don’t need to worry about these, because all of them are done by dynamodb.
In the third section want to talk about amazon S3, so S3 stands for Simple Storage Service, it is an object storage service that offers industry-leading scalability, data availability, security, and performance.
In the fourth section we want to learn about Amazon RDS or Amazon Relational Database Services and we want to learn about three relational databases and their integration with python like MySQL, Postgres and Mariadb.
In the fifth section we are going to learn about Amazon EC2 or we can say elastic compute cloud and it provides scalable computing capacity in the Amazon Web Services (AWS) Cloud. We create some examples using the AWS console and after that we go through Python Language, also we are going to deploy our Django project in EC2.
In this sixth section we want to talk about AWS lambda function so it is server less computing service that lets you run code without provisioning or managing servers.
In the seventh section we want to learn about AWS CloudFormation so it is a service that helps you model and set up your AWS resources using JSON or YAML template.
In the eight section we want to learn about AWS SES or we can say Simple Email Services, and using this service we can send emails to our customers.
In the ninth section we are going to learn about Elastic Beanstalk, so it is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS, also in this section we create a simple project in Django with RDS functionalities and after that we deploy that to elastic beanstalk.
In the tenth section we are going to create a complete practical Blog project with Python and Django, we add Amazon RDS functionality to our Python web project, after that we deploy our web project to elastic beanstalk, after deploying to Amazon Elastic Beanstalk we add a custom domain name from Amazon Route53 to our project and at the end we secure our Python Web project with Amazon SSL Certificate Manager.
In the eleventh section we are going to create a complete practical Blog project with Python and Flask, particularly in this section we are going to focus that how we can deploy our Python Flask project in Elastic Beanstalk using Amazon Code Pipeline.