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

征婚交友网站系统模板那个好技能培训机构排名前十

征婚交友网站系统模板那个好,技能培训机构排名前十,网站建设开发合同,做追星网站效果图aws(学习笔记第二十二课) 开发复杂的lambda应用程序(python的zip包) 学习内容: 练习使用CloudShell开发复杂lambda应用程序(python) 1. 练习使用CloudShell CloudShell使用背景 复杂的python的lambda程序会有许多依赖的包,如果不提前准备好这些python的…

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

  • 开发复杂的lambda应用程序(pythonzip包)

学习内容:

  • 练习使用CloudShell
  • 开发复杂lambda应用程序(python)

1. 练习使用CloudShell

  • CloudShell使用背景
    复杂的pythonlambda程序会有许多依赖的包,如果不提前准备好这些python的依赖包,那么在lambda程序在执行的时候,会出现mudule not found错误,导致程序不能执行,因此,需要将python的主程序和依赖的包都一起打包成zip文件,这里因为要是用linux环境,进行zip打包,所以使用CloudShell进行操作。

  • 什么是CloudShell
    Shell 和开发工具
    使用为AWS CloudShell会话创建的Shell,可以在首选的命令行Shell之间无缝切换。更具体地说,可以在 Bash、PowerShell 和 Z shell 之间切换。还可以访问其他预安装工具和实用程序。其中包括gitmakepipsudotartmuxvimwgetzip
    Shell环境已预先配置为支持几种主要软件语言,例如Node.jsPython。这意味着,例如,无需先执行运行时安装即可运行Node.jsPython 项目。
    可以将上传到 AWS CloudShell 或在其中创建的文件提交到本地存储库,然后再将这些文件推送到由 AWS CodeCommit 管理的远程存储库。
    简单来说,就是AWS提供了一个方便的linux环境,同时具有当前用户的权限,比如说可以和S3存储进行交互。

2.开发复杂lambda应用程序(python)

  • 全体概念
    在这里插入图片描述
    这里,主要参照了AWS的官方文档

  • lambda程序的整体
    在这里插入图片描述

  • lambda程序的作成详细

    • 准备S3 bucket
      • my-aws-bucket-20250104 用于将CloudShell上打包的zip文件保存到S3
      • my-s3lambda-lab 用于将image文件上传到S3
      • my-s3lambda-lab-resized 用于将缩小之后的thumbnail文件上传到S3
        在这里插入图片描述
    • lambda程序赋予权限
      • 策略 1 (主要是开通logs:*)
        {"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": "*"}]
        }
        
      • 策略 2 (主要是开通S3:*)
        注意,这里对于S3的全体权限都开通了,但是真正的开发,需要细化权限设定。
        {"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": "s3:*","Resource": "*"}]
        }
        
      • 角色设定
        在这里插入图片描述
      • lambda的主程序
        import boto3
        import os
        import sys
        import uuid
        from PIL import Image
        import PIL.Images3_client = boto3.client('s3')def resize_image(image_path, resized_path):with Image.open(image_path) as image:image.thumbnail((128, 128))image.save(resized_path)def handler(event, context):for record in event['Records']:bucket = record['s3']['bucket']['name']key = record['s3']['object']['key'] download_path = '/tmp/{}{}'.format(uuid.uuid4(), key)upload_path = '/tmp/resized-{}'.format(key)s3_client.download_file(bucket, key, download_path)resize_image(download_path, upload_path)s3_client.upload_file(upload_path, '{}-resized'.format(bucket), key)
        
      • CloudShell上的详细操作
        • 作成文件夹,作成主程序文件CreateThumbnail.py
          这里的CloudShell每次的主机IP都不一样,但是目录下面的文件都能够保留。感觉是一个EBS存储卷。
          /home/cloudshell-user/my_funciton/作为主路径
          在这里插入图片描述
        • 作成/home/cloudshell-user/my_funciton/package,安装依赖包
          • boto3
          • uuid
          • PIL
            这是需要的三个包
          pip install --target ./package boto3
          pip install --target ./package uuid
          pip install --target ./package PIL
          
        • 安装之后的构造
          在这里插入图片描述
        • 开始将依赖包打入到zip文件
          cd package
          zip -r ../my_function_pacakge.zip ./
          
          在这里插入图片描述
        • 接着将主程序python打入zip
          zip my_function_pacakge.zip CreateThumbnail.py
          
          在这里插入图片描述
        • zip文件上传到S3
          aws s3 cp my_function_pacakge.zip s3://my-aws-bucket-20250104
          
          在这里插入图片描述
    • 开始设定lambda
      • python版本设定
        注意,这里的python版本和CloudShellpython版本一定要一致在这里插入图片描述

      • lambda角色设定
        在这里插入图片描述

      • lambdaEvent设定
        在这里插入图片描述

      • lambda的代码上传
        这里选择从S3,上传zip文件
        在这里插入图片描述
        上传zip文件
        在这里插入图片描述

      • 更改运行时
        在这里插入图片描述
        这里修改成CreateThumbnail.handler

    • 开始测试lambda
      S3 bucket(s3://my-s3lambda-lab)上传文件,触发event
      之后检查S3 bucket(s3://my-s3lambda-lab-resized)中的thumbnail作成情况。
      可以看出,lambda已经正常运行,已经将thumbnail作成。
      在这里插入图片描述
    • CloudWatch的日志组
      在这里插入图片描述
http://www.hrbkazy.com/news/12290.html

相关文章:

  • 企业网站建设存在的问题直通车优化推广
  • 网站文字不能复制怎么做加盟教育培训哪个好
  • 低价网站建设方案seo专员工资待遇
  • 模板建站什么意思买卖平台
  • 武汉教育网站建设优化域名怎么查
  • 外贸企业网站建设公司价格1688官网
  • 赣州网站建设-赣州做网站地推项目发布平台
  • 婚纱摄影网站设计理念深圳网站关键词优化推广
  • 百度能做网站建设吗seo高效优化
  • 网站项目报价绍兴seo管理
  • 杭州有哪些做网站的公司最近最新的新闻
  • 怎么自己做卡盟网站友点企业网站管理系统
  • 写作网站制作中国免费网站服务器主机域名
  • web前端做网站项目赚钱国外独立网站如何建站
  • 那些网站招聘在家里做的客服大冶seo网站优化排名推荐
  • 建立自己网站免费seo公司后付费
  • 平面设计师长逛的网站有哪些一键优化下载
  • 哪个网站做美食自媒体更好aso优化{ }贴吧
  • 延安网站建设电话咨询唐山网站建设方案优化
  • 百度联盟做网站赚钱济南百度竞价开户
  • 做h5好点的网站如何制作一个自己的网站
  • 温州 建网站的公司外贸网站建设设计方案
  • 做网站是否用数据库新品推广计划与方案
  • 做期货在哪个网站查资料优化设计方案
  • 和卫通app下载优化什么意思
  • 网站管理系统制作软件下载2000元代理微信朋友圈广告
  • 官方网站下载微信全球疫情最新数据
  • 免费域名创建入口在哪网络公司seo教程
  • 网站为什么做静态免费推广平台排行榜
  • 品牌网站建设磐石网络优等b2b网站免费推广