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

广告品牌设计机构网站织梦模板建标网

广告品牌设计机构网站织梦模板,建标网,山西设计网站公司,wordpress做引导页aws(学习笔记第二十二课) 开发复杂的lambda应用程序(python的zip包) 学习内容#xff1a; 练习使用CloudShell开发复杂lambda应用程序(python) 1. 练习使用CloudShell CloudShell使用背景 复杂的python的lambda程序会有许多依赖的包#xff0c;如果不提前准备好这些python的…aws(学习笔记第二十二课) 开发复杂的lambda应用程序(python的zip包) 学习内容 练习使用CloudShell开发复杂lambda应用程序(python) 1. 练习使用CloudShell CloudShell使用背景 复杂的python的lambda程序会有许多依赖的包如果不提前准备好这些python的依赖包那么在lambda程序在执行的时候会出现mudule not found错误导致程序不能执行因此需要将python的主程序和依赖的包都一起打包成zip文件这里因为要是用linux环境进行zip打包所以使用CloudShell进行操作。 什么是CloudShell Shell 和开发工具 使用为AWS CloudShell会话创建的Shell可以在首选的命令行Shell之间无缝切换。更具体地说可以在 Bash、PowerShell 和 Z shell 之间切换。还可以访问其他预安装工具和实用程序。其中包括git、make、pip、sudo、tar、tmux、vim、wget 和zip。 Shell环境已预先配置为支持几种主要软件语言例如Node.js 和 Python。这意味着例如无需先执行运行时安装即可运行Node.js和Python 项目。 可以将上传到 AWS CloudShell 或在其中创建的文件提交到本地存储库然后再将这些文件推送到由 AWS CodeCommit 管理的远程存储库。 简单来说就是AWS提供了一个方便的linux环境同时具有当前用户的权限比如说可以和S3存储进行交互。 2.开发复杂lambda应用程序(python) 全体概念 这里主要参照了AWS的官方文档 lambda程序的整体 lambda程序的作成详细 准备S3 bucket my-aws-bucket-20250104 用于将CloudShell上打包的zip文件保存到S3my-s3lambda-lab 用于将image文件上传到S3my-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安装依赖包 boto3uuidPIL 这是需要的三个包 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打入zipzip my_function_pacakge.zip CreateThumbnail.py将zip文件上传到S3aws s3 cp my_function_pacakge.zip s3://my-aws-bucket-20250104开始设定lambda python版本设定 注意这里的python版本和CloudShell的python版本一定要一致 lambda角色设定 lambda的Event设定 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.hkea.cn/news/14314300/

相关文章:

  • 网页托管平台排名工具seo
  • asp做网站优点有哪些公司的网站设计的好
  • 网页游戏网站平台DW做网站下拉列表怎么做
  • 网站js效果哪种语言做网站好
  • 新网如何管理网站一般网站的后台
  • 推广网站公司营销型网站建设合同范本
  • 上海闸北城市建设有限公司网站泉州网站
  • 深圳 网站公司Wordpress 阅读全部
  • 创建公司网站用什么软件英文网站建设设计
  • 网站建设一年多少恰wordpress多本小说站出售
  • 自己做网站 为什么出现403网站长期外包
  • 注册域名 不建网站绿化工程属于建设工程吗
  • 谁告诉你j2ee是做网站的杭州seo网站排名优化
  • 设计一个网站花多少时间建设银行长清网站
  • 怎样做微课网站专业做效果图网站
  • 顺义专业建站公司新电商网站
  • 通了网站建设网页站点不安全怎么办
  • 西红门网站建设公司营站快车代理平台
  • 江西省住房城乡建设厅网站电子商务网站开发软件
  • 临桂区住房和城乡建设局门户网站网站设计报价是多少
  • 产品包装设计网站招聘信息如何发布
  • 杭州网站如何制作洛阳网站建设
  • 学做网站的书哪些好企业所得税退税怎么做账务处理
  • 廊坊网站排名优化公司哪家好免费咨询律师电话号码是多少
  • 北京门户网站有哪些焦作网站建设哪家便宜
  • 湖北省建设部网站公告微信小程序开发者文档
  • 二手交易网站建设内容策划广告创意设计案例
  • 贵州两学一做专题网站discuz 做论坛与网站
  • 建设银行网站公告在哪云南楚雄网
  • 关于中秋节网页设计实训报告seo网站建设步骤