AWS Serverless培训分享

2024-04-17 08:08
文章标签 分享 aws 培训 serverless

本文主要是介绍AWS Serverless培训分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近公司大牛组织培训了一些有关aws的serverless培训,小编把整理后的PPT带过来了,有需要的一起来看看吧!

内容主要分为两个板块,第一是PPT介绍,第二是手动操作指导。

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

PPT部分结束



下面是练习指引部分:

登录地址:

https://signin.aws.amazon.com

AWS无服务器计算应用动手实验

 

前提条件

  • AWS账号或CIO AWS环境访问权限(仅限公司内部)

  • VPN账号访问权限(仅限公司内部)

 

第一章   简介

(略)

 

第二章   创建静态Web站点

  1. 创建S3 Bucket并命名<姓名全拼>-chatapp(如cuichikun-chatapp),为S3 Bucket配置公开访问权限。

  2. 将Policy中的s3-bucket.json文件内容拷贝到"Permissions"标签页"Bucket     Policy"文本框中并替换Bucket名字。

  3. 将Site文件夹内容上传到S3。

  4. 在"属性(Properties)"标签页选择"Static     web hosting",填写默认文档(index     document)后保存。

  5. 使用"Static     Web Hosting"中的Endpoint     URL访问站点。

 

第三章   创建API

  1. 选择IAM服务

  2. 为Lambda创建Role来访问S3中的会话文件

    1. 创建Policy

      1. 服务选择S3

      2. 动作选择GetObject

      3. 输入Bucket名称及选择任意(any)对象

      4. 为Policy命名Lambda-S3-Access

    2. 创建Role

      1. 服务选择Lambda

      2. 查找并添加Lambda-S3-Access

      3. 查找并添加AWSLambdaBasicExecutionRole

      4. 为Role命名Lambda-Data

  3. 选择Lambda服务

  4. 创建代理Lambda方法

    1. 选择"Author      from scratch"

    2. 填写名称Chat-Proxy,Runtime选择"Node.js 6.10",Role选择"Choose      an existing role",Existing Role选择Lambda-Data

    3. 创建方法

    4. 将Lambda\Chat-Proxy.js文件内容复制到代码文本框中,替换Bucket名称

    5. 创建测试事件(test event)

    6. 测试

  5. 创建API,选择API Gateway服务

    1. 新建API并命名Chat-API

    2. 在API根(\)上创建资源(Create Resouce),勾选"Configure as proxy resource"并创建资源。

    3. 在Lambda      Function中选择步骤2中创建的Lambda方法名并保存。

    4. 创建API测试。

    5. 测试。

  6. 部署API

    1. 选择资源"/{proxy+}"后在Actions列表中选择Enable CORS。

    2. Deploy API并创建名为"prod“的stage。

    3. 将API Endpoint复制到剪切板。

  7. 更新代码

    1. 打开Site\js\config.js文件替换API Endpoint。

    2. 上传Site\js文件夹到S3。

    3. 通过网站URL在浏览器中打开网站,使用开发者工具查看API调用及返回结果。

 

第四章使用DynamoDB存储

  1. 选择DynamoDB服务

  2. 创建表Chat-Messages

    1. Primary key为ConversationId类型string

    2. Sort key为Timestamp类型number

    3. 取消'Use default      settings'勾选

    4. 取消'Read      Capacity'和'Write Capacity'勾选

    5. Read capacity units和Write capacity units都填写1

    6. 创建

  3. 创建表Chat-Conversations

    1. Primary key为ConversationId类型string

    2. Sort Key为Username类型string

    3. 创建Partation Key为Username,Sort Key为ConversationId的Index

    4. 取消'Use default      settings'勾选

    5. 取消'Read      Capacity'和'Write Capacity'勾选

    6. Read capacity units和Write capacity units都填写1

    7. 创建

  4. 创建测试数据

    1. Chat-Messages表增加两个字段SenderMessage类型string,添加测试数据。

    2. Chat-Conversations表添加测试数据。

  5. 创建Policy(Lambda访问DynamoDB)

    1. 复制Policies\lambda-data.json文件内容到Policy文本框

    2. 给Policy命名为Lambda-Data-Access

    3. 在IAM里面找到角色(Role)"Lambda-Data",搜索并添加"Lambda-Data-Access" 到角色中。

  6. 更新Lambda代码

    1. 将Lambda\Chat-Proxy.js文件内容替换原Lambda方法代码并保存。

    2. 测试Lambda方法。

  7. 更新网站代码

    1. 将Site中文件更新S3静态站点。

    2. 在浏览器中测试静态站点。

 

第五章   拆解单块应用

  1. 选择Lambda服务

    1. 根据Lambda\Chat-Conversation-GET.js文件内容创建Chat-Conversation-GET方法并测试

    2. 根据Lambda\Chat-Messages-GET.js文件内容创建Chat-Messages-GET方法并测试

    3. 根据Lambda\Chat-Messages-POST.js文件内容创建Chat-Messages-POST方法并测试

  2. 选择API Gateway服务并选择Chat-API

    1. 选择Models,按Models文件夹下各文件内容创建Conversation、ConversationList和NewMessage三个Model。

    2. 选择左侧菜单Resources

    3. 删除资源/{proxy+}

    4. 创建Conversation      GET方法

      1. 创建资源(Resource)“conversations",路径"/conversations"

      2. 添加GET方法,指向Chat-Conversation-GET方法

      3. 在Method       Response里面为200状态选择ConversationList模板

      4. 测试API

    5. 创建Messages GET方法

      1. 在资源(Resource)"conversations"下面创建资源"messages",路径"/{id}"

      2. 添加GET方法,指向Chat-Messages-GET方法

      3. 导航到Integration Request > Mapping Templates > Request body       passthrough

        1. 选择"When there are no templates defined (recommended)"

        2. 向Content-Type添加application/json

        3. 将Mapping        Templates\Chat-Messages-GET-Input.vtl文件内容复制到模板中保存返回

      4. 在Response       Method里面为200状态选择Conversation模板

      5. 测试API

    6. 创建Messages POST方法

      1. 为资源"messages"添加POST方法,指向Chat-Messages-POST方法

      2. 导航到Method Request > Request Body为application/json(Content-Type)添加NewMessage模板

      3. 导航到Integration Request > Mapping Templates > Request body       passthrough

        1. 选择"When there are no templates defined (recommended)"

        2. 向Content-Type添加application/json

        3. 将Mapping        Templates\Chat-Messages-POST-Input.vtl文件内容复制到模板中保存返回

      4.  测试API

  3. 更新网站代码

    1. 将Site中文件更新S3静态站点。

    2. 在浏览器中测试静态站点。

 

第六章   添加用户身份验证

  1. 创建用户池(User     Pool)

    1. 用户池名称ChatPool

    2. 选择Step through      settings

    3. 勾选allow login      with emaill,允许使用email登录,required attributes选择email。

    4. 创建AppClient,输入appclient 名字website, 取消 generate      client secret勾选, 在attributes中只勾选和email相关的三个字段,取消其它字段勾选。

  2. 创建Policy

    1. 以文件Policies\lambda-cognito.json内容创建Policy,命名Lambda-Cognito

  3. 创建角色(Role)

    1. 创建角色Lambda-Cognito

    2. 添加Lambda-Cognito策略和AWSLambdaBasicExecutionRole策略。

  4. 创建Lambda方法

    1. 创建新的Lambda方法Chat-Users-GET

    2. 选择角色Lambda-Cognito

    3. 复制Lambda\Chat-Users-GET.js      代码到方法文本框

  5. 创建API

    1. 通过Models\UserList.json文件内容在API Gateway中创建新的Model命名UserList

    2. 在根(/)下创建新资源users,路径"/users"。

    3. 向资源添加GET 方法,并选择Chat-Users-GET方法。

    4. 在Method      Response中为200状态选择UserList模板。

    5. 为资源/users执行Enable CORS

  6. Deploy     API到prod命名的stage

  7. 下载API JavaScript     SDK

  8. 解压缩后将文件夹添加到S3     Bucket中js文件夹下。

 

 

这篇关于AWS Serverless培训分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911242

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

内卷时代无人机培训机构如何做大做强

在当今社会,随着科技的飞速发展,“内卷”一词频繁被提及,反映了各行业竞争日益激烈的现象。对于无人机培训行业而言,如何在这样的时代背景下脱颖而出,实现做大做强的目标,成为每个培训机构必须深思的问题。以下是从八个关键方面提出的策略,旨在帮助无人机培训机构在内卷时代中稳步前行。 1. 精准定位市场需求 深入研究市场:通过市场调研,了解无人机行业的最新趋势、政策导向及未来发展方向。 明确目标

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢?   一、影响网络安全运维培训价格的因素   1. 培训内容的深度和广度   不同的网络安全运维培训课程涵盖的内容有所不同。一些基础的培训课程可能主要涉及网络安全基础知识、常见安全工具的使用等,价