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

网站上线倒计时页面宣传推广策略

网站上线倒计时页面,宣传推广策略,怎样做网站平台,微信公众号怎么发布文章aws(学习笔记第二十一课) 开发lambda应用程序 学习内容: lambda的整体概念开发lambda应用程序 1. lambda的整体概念 借助AWS Lambda,无需预置或管理服务器即可运行代码。只需为使用的计算时间付费。借助 Lambda,可以为几乎任何类型的应用进…

aws(学习笔记第二十一课)

  • 开发lambda应用程序

学习内容:

  • lambda的整体概念
  • 开发lambda应用程序

1. lambda的整体概念

借助AWS Lambda,无需预置或管理服务器即可运行代码。只需为使用的计算时间付费。借助 Lambda,可以为几乎任何类型的应用进程或后端服务运行代码 - 所有这些都无需管理。上传代码后,Lambda 会处理运行和扩展具有高可用性的代码所需的一切。您可以将代码设置为从其他 AWS 服务自动触发,或直接从任何 Web 或移动应用进程调用。

  • lambda的使用方式
    • 作为事件驱动的计算资源时,Lambda 可以响应事件时运行代码
      在这里插入图片描述
    • 作为计算服务时,可以响应API Gateway或者API调用的HTTP请求时运行代码
      在这里插入图片描述

2. 开发lambda应用程序

  1. 开发第一个lambda应用程序hello,world
    • 创建函数
      选择nodejs平台执行。
      在这里插入图片描述
    • 为了权限,设定role
      在这里插入图片描述
    • 测试
      在这里插入图片描述
      点击测试按钮,执行测试。
      在这里插入图片描述
  2. 开发另一个lambda应用程序,使用tag过滤对EC2进行开启和停止控制
    • 作成一个EC2,作为lambda函数控制的目标
      在这里插入图片描述
    • 为了执行权限,通过赋予给lambda特定的role
      • role的策略
        这里有两个权限,
        • 一个是logs的权限,主要是输出lambdalog需要的权限。这个是lambda的必须策略
        • 另一个是ec2,主要是控制ec2的时候需要的权限
        {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Resource": "arn:aws:logs:*:*:*"},{"Effect": "Allow","Action": ["ec2:DescribeInstances","ec2:Start*","ec2:Stop*","ec2:DescribeInstanceStatus"],"Resource": "*"}]
        }
        
    • role的信任关系
      因为这个role需要给lambda执行需要,所以需要建立信任关系。
      {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": "lambda.amazonaws.com"},"Action": "sts:AssumeRole"}]
      }
      
      在这里插入图片描述
    • 开始创建lambda函数
      权限这里执行lambda-role,来给lambda函数赋予执行权限。
      在这里插入图片描述
    • 成功创建lambda函数
      在这里插入图片描述
    • lambda函数的实例程序代码
      import os
      import boto3
      import loggingDEFAULT_TAGS = os.environ.get("DEFAULT_TAGS")
      print("DEFAULT_TAGS", DEFAULT_TAGS)logger = logging.getLogger()
      level = logging.getLevelName(os.environ.get("LOG_LEVEL", "INFO"))
      print("Logging level -- ", level)
      logger.setLevel(level)ec2_resource = boto3.resource('ec2')
      ec2_client = boto3.client('ec2')def lambda_handler(event, context):"""Function that start and stop ec2 instances schedule and with specific tags<br/>:param event: Input event, that should contain action and tags parameters, where tags is a list of comma separates key/value tags.<br/>:param context: Lambda context.<br/>:return: nothing"""logger.debug(event)print("event -- ", event)tags = get_tags(event['tags'] if 'tags' in event else DEFAULT_TAGS)print("tags -- ", tags)instances = get_instances_by_tags(tags)if not instances:logger.warning('No instances available with this tags')else:if event['action'] == 'start':ec2_client.start_instances(InstanceIds=instances)logger.info('Starting instances.')elif event['action'] == 'stop':ec2_client.stop_instances(InstanceIds=instances)logger.info('Stopping instances.')else:logger.warning('No instances availables with this tags')def get_tags(tags):"""Method that split comma separated tags and return a formed tags filter<br/>:param tags: Comma separated string with the tags values.<br/>:return: tags structure"""final_tags = []split_tags = tags.split(",")for tag in split_tags:values = tag.split('=')final_tags.append({'Name': values[0],'Values': [values[1]]})return final_tagsdef get_instances_by_tags(tags):"""Method that filter all ec2 instances and return only the instances with specific tags<br/>:param tags: Filter structure with tag values.<br/>:return: list of ec2 instances"""response = ec2_resource.instances.filter(Filters=tags)print("Response -- ", response)for instance in response:print("Instance -- ", instance)intance_ids = [instance.id for instance in response]print("intance_ids -- ", intance_ids)return intance_ids
      
    • 点击deploy对函数的代码进行部署
      可以看出这里是一个vscode风格的在线代码编辑器
      在这里插入图片描述
    • lambda函数进行环境变量的设定
      • 代码中使用`DEFAULT_TAGS = os.environ.get(“DEFAULT_TAGS”)得到环境变量,所以这里需要定义
      • tag:Name:lambda-ec2是标准的aws定义tag的方式
        在这里插入图片描述
    • 回到lambda的测试,编辑event参数
      在这里插入图片描述
    • 进行测试
      在这里插入图片描述
    • 检查ec2的状态
      在这里插入图片描述
    • 检查CloudWatch,可以看到lambda函数的log
      在这里插入图片描述
http://www.15wanjia.com/news/31610.html

相关文章:

  • 贵州做团队培训的网站个人在线做网站免费
  • 柳州做网站的公司提交链接
  • 做视频网站2345网址导航电脑版
  • wordpress 图片文件夹哈尔滨seo整站优化
  • 购物网站排名第一的有哪些seo推广软件代理
  • 网站域名注册哪个好营销网页
  • 网站设计收费模式免费网站搭建
  • 网站开发的评论界面怎么写济南头条新闻热点
  • 深圳市做网站公司武汉企业seo推广
  • 网站开发相关技术企业培训课程分类
  • 矿山建设网站惠州关键词排名提升
  • 网站建设品牌公司哪家好怎样优化标题关键词
  • 贵阳市小程序网站开发公司外链seo
  • 免费企业网站系统源码下载seo查询平台
  • 福州外贸网站建设怎么做一个网站的步骤
  • 罗玉凤做网站seo外链建设的方法
  • 建站前期准备广州网站推广联盟
  • 商务网站开发文档谷歌关键词热度查询
  • 蚌埠市做家教网站无锡seo公司找哪家好
  • wordpress怎装模板seo推广优化方案
  • 宁波网站建设公司费用价格知乎推广合作
  • 公司做网站好吗百度百度一下你就知道主页
  • 做的网站如何全屏外链官网
  • 网站开发学院网站外链发布平台
  • 做网站哪种域名好记正规营销培训
  • 网站建设公司怎么做业务优化百度seo
  • 哈尔滨网站建设费用霸屏seo服务
  • 深圳建设银行官方网站上海高端seo公司
  • ps设计网站步骤关键词排名优化易下拉技术
  • 企业网站维护工作内容如何在百度上发广告