AWS核心概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38129062/article/details/88350415

AWS核心概念

无服务器框架可帮助您开发和部署AWS Lambda功能及其所需的AWS基础架构资源。它是一个CLI,提供开箱即用的结构,自动化和最佳实践,使您可以专注于构建由功能和事件组成的复杂,事件驱动,无服务器架构。

无服务器框架与其他应用程序框架不同,因为:

它管理您的代码和基础架构
它支持多种语言(Node.js,Python,Java等)


功能

FunctionAWS Lambda函数。它是一个独立的部署单元,就像微服务一样。它只是部署在云中的代码,通常用于执行单个作业,例如:

  • 将用户保存到数据库
  • 处理数据库中的文件
  • 执行计划任务

您可以在代码中执行多个作业,但我们不建议您在没有充分理由的情况下执行此操作。关注点分离是最好的,框架旨在帮助您轻松开发和部署函数,以及管理大量函数。


活动

任何触发AWS Lambda函数执行的内容都被框架视为事件。事件是AWS上的基础结构事件,例如:

  • AWS API网关HTTP端点请求(例如,用于REST API)
  • AWS S3存储桶上传(例如,用于图像)
  • CloudWatch计时器(例如,每5分钟运行一次)
  • AWS SNS主题(例如,消息)
  • CloudWatch警报(例如,发生的事情)

在无服务器框架中为AWS Lambda函数定义事件时,框架将自动创建该事件所需的任何基础结构(例如,API网关端点),并配置AWS Lambda函数以监听它。


资源

资源是您的函数使用的AWS基础结构组件,例如:

  • AWS DynamoDB表(例如,用于保存用户/帖子/评论数据)
  • AWS S3存储桶(例如,用于保存图像或文件)
  • AWS SNS主题(例如,用于异步发送消息)
  • 无服务器框架支持CloudFormation中可以定义的任何内容

无服务器框架不仅会部署您的函数和触发它们的事件,还会部署您的函数所依赖的AWS基础架构组件。


服务

一个服务是组织框架的单元。您可以将其视为项目文件,但您可以为单个应用程序提供多种服务。您可以在一个名为serverless.yml(或serverless.jsonserverless.js)的文件中定义函数,触发它们的事件以及函数使用的资源。它看起来像这样:

# serverless.yml      //文件名

service: users

functions:        //你的方法
  
  usersCreate:
    events:       //触发此函数的“事件”
      - http: post users/create
  
  usersDelete:
    events:
      - http: delete users/delete

resources:      //你的“功能”使用的“资源”。这里有原始的AWS云形成。

通过运行部署Framework时,会立即部署serverless deploy所有内容serverless.yml


插件

您可以使用插件覆盖或扩展Framework的功能。每个serverless.yml都可以包含一个plugins:属性,其中包含多个插件。

# serverless.yml     //文件名

plugins:   //属性
  - serverless-offline
  - serverless-secrets

猜你喜欢

转载自blog.csdn.net/qq_38129062/article/details/88350415
今日推荐