当前位置: 首页 > news >正文

网站建设中建站广告html单页面重庆市建设工程信息网信用信息发布平台

网站建设中建站广告html单页面,重庆市建设工程信息网信用信息发布平台,别人的网站是怎么做的,photoshop网站模板设计教程AWS Lambda 无服务器计算与AWS Lambda AWS Lambda支持无服务器计算#xff0c;不需要任何预配置和管理#xff0c;同时还能最大限度地降低成本。我们将看到如何创建一个简单的Lambda函数#xff0c;以及如何将其与AWS事件映射。在现实生活中#xff0c;任何托管在线的应用…AWS Lambda 无服务器计算与AWS Lambda AWS Lambda支持无服务器计算不需要任何预配置和管理同时还能最大限度地降低成本。我们将看到如何创建一个简单的Lambda函数以及如何将其与AWS事件映射。在现实生活中任何托管在线的应用程序或服务都可能有多个并发用户访问。在设计应用程序时扩展是一个重要因素。AWS Lambda是一种无服务器计算服务使用它我们可以运行代码而无需担心服务器基础设施、扩展和容器的预配置和管理。AWS Lambda会自动扩展和缩减我们的代码无需管理。这是成本效益的因为我们只需为代码消耗的执行时间付费。 创建Handler AWS Lambda允许创建自动运行的函数即方法这种特定函数由称为“handler”的源代码片段管理。Handler可以是一个简单的使用日志记录器也可以包含用于在S3或DynamoDB中执行多个操作的高级代码。我们可以为这个handler添加触发器以便当我们的S3桶或DynamoDB表中发生变化时上传为handler的代码会在Lambda中自动运行。 我们需要上传的代码可以在Cloud9编辑器中编写。我们可以通过以下命令创建一个名为“Hello”的简单Maven应用 mvn -B archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DgroupIdau.edu.scu.app -DartifactIdlambdaapp现在我们需要更改pom.xml文件附录1末尾提供的源代码是本周实验的工作文件。我们需要为“java-core”和“java-events”添加两个依赖项。只有当我们将触发事件与handler一起添加时才需要“java-events”的依赖项。 dependencygroupIdcom.amazonaws/groupIdartifactIdaws-lambda-java-core/artifactIdversion1.2.0/version /dependencydependencygroupIdcom.amazonaws/groupIdartifactIdaws-lambda-java-events/artifactIdversion1.3.0/version /dependencyLambda函数的后台基本上是一个具有特殊方法“handler”的应用程序。handler方法看起来像这样 outputType handler-name (inputType input, Context context) {………………}public String myHandler (String input, Context context) {………………}inputType和outputType可以是以下之一 原始Java类型例如String或int。在aws-lambda-java-events库中预定义的AWS事件类型。例如S3Event是库中预定义的POJO之一提供方法以便您轻松读取来自传入Amazon S3事件的信息。您自己的POJO类型您还可以编写自己的POJO类。AWS Lambda将根据POJO类型自动序列化和反序列化输入和输出JSON。要了解POJO请参阅模块3教程B部分。 我们可以将以下代码放入App.java中。我们从头开始构建代码因此这种方法被称为“创作”。代码包含一个名为“myHandler()”的handler它应该有一个“Context”对象以及一个原始或POJO作为输入类型。我们可以在handler中放入更多复杂的代码以执行更多AWS操作。现在我们将看到一个简单的handler。这个handler还可以以其他方式设计例如使用“RequestHandler”接口。请记住如果我们使用“RequestHandler”接口我们的handler方法名称必须是“handleRequest()”。在本教程中我们将使用更简单版本的handler因此我们可以为handler方法命名任何名称。我们不需要为这个应用程序编写主方法因为我们只会构建应用程序而不会运行它。它将由Lambda函数运行。现在让我们看看代码。 package au.edu.scu.app;import com.amazonaws.services.lambda.runtime.Context;public class App {public String myHandler(String name, Context context) {return (Hello, name);} }这是一个简单的handler方法它接受两个参数——一个“String”和一个“Context”参数。“Context”对象提供有关函数调用的信息并返回一个“String”输出。 现在我们需要打包这个handler。我们可以通过使用mvn package命令轻松完成打包。打包完成后创建的JAR文件需要通过右键单击并选择“下载”来下载。我们需要这个JAR文件来在AWS Lambda中创建Lambda handler。将JAR文件上传到您的S3桶并复制S3 URI以备后用。 创建Lambda函数 可以通过在“AWS Management Console”的搜索栏中轻松找到“Lambda”服务。如果单击左侧的“Functions”菜单将显示所有可用的Lambda函数列表。如果单击“Dashboard”将看到一个名为“Create function”的按钮。 单击“Create function”按钮将带我们进入下面的“Create function”界面在这里我们需要提供函数详细信息包括名称、JDK运行时版本、执行角色。 在“Create Function”界面中执行以下操作 选择“Author from scratch”因为我们不使用任何模板。在“Function name”中我们给出名称“test-function”。最好在名称中带有后缀“-function”。我们使用Java因此“Runtime”将是“Java 8 on Amazon Linux 2”。在“Permissions”中单击“Choose or create an execution role”然后从列表中选择“Use an existing role”。从“Existing role”列表中选择“LabRole”。单击“Create function”按钮。 一个新窗口将出现如下。现在我们必须上传handler的代码可以作为.jar或.zip文件上传或从S3桶中引用。我们已经在S3中上传了JAR文件并记录了S3 URI现在我们需要提供它。 在“Code”选项卡下我们需要提供JAR文件URI并单击“Save”。 在“Runtime settings”部分我们需要选择正确的运行时即Amazon Linux 2并提供正确的handler名称为“package.main class::handler”即“au.edu.scu.app.App::myHandler”。然后单击“Save”。 测试Lambda函数 我们现在将测试Lambda函数。由于我们的handler接受一个字符串输入我们将通过提供一个字符串值来测试Lambda函数。我们将必须创建一个测试事件来调用函数。在“Test”选项卡下我们选择“Create new event”。 这个新事件将从“hello-world”事件模板改编。我们需要为“Event Name”命名即“test-event”。关键部分是我们提供的测试值。myHandler()方法接受一个字符串输入因此我们必须给出一个字符串值作为测试输入。AWS Lambda使用JSON序列化和反序列化此输入。 我们可以“Save”测试事件。但是如果我们只想测试一次可以通过单击“Test”按钮来测试函数。我们将在“Execution result”中看到函数的输出。现在需要注意的是这种类型的测试仅适用于我们使用Java数据类型作为输入时例如String、int等。然而如果我们使用事件作为输入我们将在下一节中这样做则无法这样测试。在这种情况下我们需要添加一个称为“触发器”的东西并测试Lambda函数。 为Lambda函数添加触发器 触发器是一个Lambda属性我们可以配置它以响应外部事件调用我们的Lambda函数例如在S3中上传新文件在DynamoDB中插入记录。我们现在将看到如何为S3桶添加触发器以调用Lambda函数。此触发器将在S3桶中发生任何更改时自动调用Lambda函数。在此示例中我们将使用“创建”对象的事件来演示。我们可以简单地上传一个文件来模拟这个过程。我们需要一个与上一节使用的handler稍有不同版本的myHandler()。我们将使用以下代码在Cloud9中创建我们的新handler。 package au.edu.scu.app;import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.S3Event;public class App {public String myHandler(S3Event event, Context context) {context.getLogger().log(An S3 event is triggered);return Test is complete;} }我们需要一个新的“S3Event”类的import语句。此handler将由S3事件调用因此我们必须使用S3Event类型的输入参数。上述代码将在S3桶中尝试创建对象时被调用。代码将在AWS Lambda中写入日志“A S3 Event is triggered”。我们将不得不按照前面提到的步骤将其打包为.jar文件并作为函数上传到AWS Lambda中。我们再次构建应用程序下载JAR上传到S3桶复制S3 URI。然后我们通过将S3 URI添加到“代码”中来更新handler因为现在我们有新的JAR文件。 现在我们必须“Add trigger”并在“Trigger configuration”中选择“S3”。 它将在同一窗口中带来一些配置输入字段。从列表中选择一个现有桶在此示例中桶名称为“csc73001-lab-prithwi-2”。我们选择“所有对象创建事件”作为“事件类型”。我们勾选“递归调用”的确认框。单击“Add”按钮将触发器添加到我们的Lambda函数。 它将带我们回到Lambda函数主页。 现在我们将通过向指定桶中上传文件来测试Lambda函数。我们可以上传实际上是一个创建事件任何文件到桶中。一旦文件上传一个事件将触发我们与桶事件映射的Lambda函数。由于我们创建的handler应该在被调用时写入日志我们可以在Lambda界面中看到该日志。要查看输出单击“Monitor”选项卡。然后单击“View logs in CloudWatch”按钮。它将打开一个带有日志流列表的新窗口。 单击“View logs in CloudWatch”按钮将打开这个新页面。 我们单击最新的日志流应该能够看到handler写入的日志。 要查看此信息我们首先必须转到“Configuration”选项卡然后单击“Permissions”菜单。我们将看到一个名为“Execution role”的部分其中列出了“robomaker_students”角色。 我们单击“LabRole”链接它将带我们进入AWS IAM控制台并显示当前为“LabRole”角色设置的“Permission policies”摘要。在“Permission”选项卡下我们将看到此角色下存在的策略列表。您还将在页面顶部看到一个称为Amazon Resource Name (ARN)的“LabRole”角色的标识。Amazon为每种资源类型的管理目的保留此标识。 在“Add permission”按钮下您将看到“Create inline policy”通常用于为LabRole添加额外权限。但是我们无权完成此操作。因此这仅供您参考。不要尝试修改或更新任何内容。 上传JAR文件并自动更新Lambda 每次我们更新Cloud9应用程序时需要打包JAR下载它然后手动上传到Lambda函数这是一项繁琐的任务。有一种方法可以从Cloud9 bash终端自动完成此操作。在此过程中我们将JAR文件上传到S3桶中然后将该桶作为Lambda代码的源进行引用。 首先确保Lambda函数已正确创建和配置例如运行时设置。 通过以下命令构建Cloud9应用程序。例如我的JAR文件是“xyz-1.0.jar”。 mvn clean package运行此命令将JAR文件上传到例如“xyz-bucket”。 aws s3 cp target/xyz-1.0.jar s3://xyz-bucket运行此命令以使用上传的JAR文件更新现有的Lambda函数例如“xyz-function”。 aws lambda update-function-code --function-name xyz-function --s3-bucket xyz-bucket --s3-key xyz-1.0.jar使用此命令检查Lambda函数是否已更新。一旦看到“END”您可以按CtrlC退出命令行并返回bash。 aws lambda get-function --function-name xyz-function
http://www.zqtcl.cn/news/804939/

相关文章:

  • 小程序视频网站开发网站开发项目预算表
  • 邢台手机网站建设价格iis 手机网站
  • 网站开发流程三大部分微信学校网站模板
  • 网站推荐正能量专业做网站多少钱
  • 网站界面设计总结淘客手机端网站建设
  • 天津网站建设zhy88宁波企业黄页公司黄页
  • 个人网站课程设计报告app免费制作软件中文版
  • 品牌建设网站规划盛唐网站建设
  • 商城网站系统建站平台上建设的网站可以融资吗
  • 怎么查网站空间wordpress快速入门
  • 长沙 网站运营德国服务器网站
  • 有动效网站建网站的书籍
  • 网站模版更新公告2023年ppt模板免费
  • 广饶网站建设北京建设工程监督网站
  • 长沙网站建设电话郑州网站空间
  • 做网站是怎样赚钱的网页制作工具按其制作方式有
  • 网站地图在哪里展现电子商务网站需要做那些准备工作
  • 深圳网站设计收费标准中端网站建设公司
  • 有关wordpress教学的网站wordpress返回旧版
  • php做网站弊端wordpress强大播放器
  • 怎么直接做免费网站wordpress如何自建站
  • 中国建设银行建银购网站金堂企业网站建设
  • 手机微网站开发的目的和意义温州公司网站开发
  • 除了外链 还有什么办法使网站提高排名网站建设珠海 新盈科技
  • 几分钟弄清楚php做网站中国风景摄影网
  • 卡片式网站网页设计公司的市场评估
  • 网站开发的感想wordpress水煮鱼
  • 网站开发入门培训机构自豪地采用wordpress更改
  • 手机网站来几个最近的国际新闻大事件
  • 重庆网站开发设计公司电话资源网站优化排名