aws(学习笔记第二十三课) step functions进行开发(lambda函数调用)

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

  • 开发step functions状态机的应用程序

学习内容:

  • step functions状态机的概念
  • 开发简单的step functions状态机

1. step functions状态机概念

  1. 官方说明文档和实例程序
    AWS的官方给出了学习的链接和实例程序。使用SAM创建step functions
    借助AWS Step Functions,可以创建工作流(也称为)状态机,以构建分布式应用程序、实现流程自动化、协调微服务以及创建数据和机器学习管道。
    下图是一个step functions的实例,也就是说,可以编排工作流程,实现自动的批处理。同时,状态机的各种Action里面能够方便的调用AWS的各种服务。
    在这里插入图片描述
    • 状态的类型

      state type说明
      Task执行单一处理
      Wait一定时间上的停止等待⌛️
      Pass输入到输出的原样输出
      Parallel实行并行处理
      Choice进行选择条件处理
      Fail失败退出
      Success成功退出
    • 状态机中一般的操作
      在这里插入图片描述

2. 开发简单的step functions状态机

  1. lambda函数执行开始
    在这里插入图片描述

    • 作成一个lambda函数 (step-functions-lambda)
      还是先作成一个lambda函数,step functions状态机只调用lambda函数。
      在这里插入图片描述

    • lambda函数的代码

      export const handler = async (event) => {const response = {statusCode: 200,body: JSON.stringify('Hello from ' + event.who),};return response;
      };
      

      注意,这里参数event是调用step functions的设定的参数,之后调用的时候会设定。
      为了确认rolelambdastep functions指定的时候,都默认使用AWS作成一个新的role,看看AWS自动生成的role的,策略信任关系

    • 设定lambdarole(采用默认作成一个新的)
      在这里插入图片描述
      查看自动作成的lambda函数的role
      在这里插入图片描述

      • 权限策略为以下。
        {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": "logs:CreateLogGroup","Resource": "arn:aws:logs:ap-northeast-1:081353481087:*"},{"Effect": "Allow","Action": ["logs:CreateLogStream","logs:PutLogEvents"],"Resource": ["arn:aws:logs:ap-northeast-1:081353481087:log-group:/aws/lambda/step-functions-lambda:*"]}]
        }
        
      • 信任关系为以下。
        {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": "lambda.amazonaws.com"},"Action": "sts:AssumeRole"}]
        }
        
  2. 接着使用lambda函数创建step functions

    • 创建step functions
      在这里插入图片描述
      注意,这里region必须选用和lambda函数同样的,否则AWS不能选择lambda
      在这里插入图片描述
    • 默认让AWS创建新的role,来设定step functions的权限
      为了方便观察step functions的权限设定,使用AWS自动提供的设定一个新的role
      在这里插入图片描述
    • 默认让AWS创建新的role,来设定step functions的权限在这里插入图片描述
      • 查看自动生成的role的策略设定
        在这里插入图片描述
        看出这里,已经自动赋予LambdaInvoke的策略(第一个)。
      • 查看信任关系
        当然,这里会给信任关系里面加上states.amazonaws.com,即状态机
        {"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": "states.amazonaws.com"},"Action": "sts:AssumeRole"}]
        }
        
  3. 执行创建的step functions

    • 准备参数
      在这里插入图片描述
    • 查看执行结果
      绿色表示执行成功。
      在这里插入图片描述
    • 查看cloudwatch
      lambda函数执行不一样,这里不会产生cloudwatchlog组。

    在这里插入图片描述

    • 使用SAM来创建step functions
      AWS的官方给出了学习的链接和实例程序。使用SAM创建step functions
      下节课使用SAM (amazon Serverless Application Model)目前还是不懂的状态,加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/66928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓开发动画

1.gif图片动画 边缘会有锯齿 2.json动画 用lottie json文件动画 实现 Android Studio使用lottie,加载json文件,实现动画效果_android 加载json动画-CSDN博客 遇到的坑 1.不播放,可能因为设置了图片(跟动画一样的图片&#xf…

【Docker】入门教程

目录 一、Docker的安装 二、Docker的命令 Docker命令实验 1.下载镜像 2.启动容器 3.修改页面 4.保存镜像 5.分享社区 三、Docker存储 1.目录挂载 2.卷映射 四、Docker网络 1.容器间相互访问 2.Redis主从同步集群 3.启动MySQL 五、Docker Compose 1.命令式安装 …

算法练习7——拦截导弹的系统数量求解

题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 假设某天雷达捕捉到敌国的导弹来袭。由于该系统还在试用…

如何使用高性能内存数据库Redis

一、详细介绍 1.1、Redis概述 Redis(Remote Dictionary Server)是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种类型的数据结构,如字符串(strings)、哈希&am…

【Linux系列】`find / -name cacert.pem` 文件搜索

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

最大拿牌的得分

假设有个游戏,一列牌有不同分数,但是只能从两头拿 ,拿到最后分数最高的人获胜,假设两个人都是聪明人,求最后的最高分是多少? 思路:递归算法,一个人拿左边牌,另一个人的得…

UE材质Fab Megascans

2025年Bridge里已经不能直接导入资产了,显示GET IT ON FAB 只能在Fab中导入资产, 纹理打包技术从RMA改成了ORM O:AO 环境光遮蔽 R:Roughness 粗糙度 M:Metallic 金属度 在Fab中找到材质,点击Add to P…

前后端本地启动

一、后端启动 1. 项目导入 目标:将后端代码从远程仓库(GitHub)导入到开发工具中(例如 IntelliJ IDEA),方便我们对项目进行编辑和运行。 步骤: 打开 IntelliJ IDEA(下文简称 IDEA…

ansible 检查目录大小

检查目录大小 worker_du.yml# ansible-playbook -i hosts worker_du.yml --limit w10 --- - name: 检查目录大小hosts:- w10 # 可以根据需要修改目标主机# 可以添加更多主机tasks:- name: 获取每台主机 /root/worker01 目录大小shell: du -sh /root/worker01/ | awk {print …

【NP-hard问题】NP与NP-hard问题通俗解释

最近在研究NP-hard问题,讲一下自己的对于NP与NP-hard问题的通俗解释 一、NP-Hard 问题是什么意思? 什么是 NP? NP 问题可以理解为「检查答案很容易,但找到答案很难」。 举个例子: 假设你在一个迷宫里,…

【黑灰产】假钱包推广套路

假钱包推广产业链研究 市面上钱包的主要推广方式: 1,竞价(搜索引擎),误导客户为真正官方钱包从而完成下载使用 优点:精准,客户大 缺点:竞价户容易挂,投资大 2&#xff0…

C#范围表达式,模式匹配,逆变和协变--11

目录 一.范围表达式 1.概述 2.语法 3.代码示例 4.实现原理 5.应用场景 二.模式匹配 1.概述 2.核心概念 3.常用模式类型 4.Switch表达式 5.使用示例 6.优势 三.逆变和协变 1.概述 2.泛型类型参数的变性 3.协变示例 4.逆变示例 5.注意事项 6.应用场景 总结 一…

ollama教程(window系统)

前言 在《本地大模型工具哪家强?对比Ollama、LocalLLM、LM Studio》一文中对比了三个常用的大模型聚合工具优缺点,本文将详细介绍在window操作系统下ollama的安装和使用。要在 Windows 上安装并使用 Ollama,需要依赖 NVIDIA 显卡&#xff0c…

代码随想录 字符串 test1

344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; 依次交换首尾。 class Solution { public:void reverseString(vector<char>& s) {int h,l;//首尾指针for(h 0, l s.size() - 1; h < s.size() / 2; h, l--){swap(s[h], s[l]);}return ;} };

[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…

半导体数据分析: 玩转WM-811K Wafermap 数据集(三) AI 机器学习

前面我们已经通过两篇文章&#xff0c;一起熟悉了WM-811K Wafermap 数据集&#xff0c;并对其中的一些数据进行了调用&#xff0c;生成了一些统计信息和图片。今天我们接着继续往前走。 半导体数据分析&#xff1a; 玩转WM-811K Wafermap 数据集&#xff08;二&#xff09; AI…

BGP 泄露

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 目录 1. BGP 是什么&#xff1f; 2. 什么是 BGP 泄露&#xff1f; 3. 今天发生了什么&#xff1f; 4. 正常和被劫持状态下的路由示意图 5. 受影响区域 6. 责任在谁&#xff1f; 7. 有办法避免这…

wireshark排除私接小路由

1.wireshark打开&#xff0c;发现了可疑地址&#xff0c;合法的地址段DHCP是192.168.100.0段的&#xff0c;打开后查看发现可疑地址段&#xff0c;分别是&#xff0c;192.168.0.1 192.168.1.174 192.168.1.1。查找到它对应的MAC地址。 ip.src192.168.1.1 2.通过show fdb p…

【Ubuntu与Linux操作系统:十一、Java与Android应用开发】

第11章 Java与Android应用开发 11.1 Java开发 Java是一种广泛使用的面向对象编程语言&#xff0c;以其平台无关性和强大的生态系统而闻名。它在Android开发中占据重要地位&#xff0c;同时也是企业级应用和服务器开发的首选语言。 1. Java语言的特点 跨平台性&#xff1a;Ja…

数据库序列的使用、常见场景与优劣势分析

在现代数据库系统中&#xff0c;唯一标识符&#xff08;如主键&#xff09;是数据表中不可或缺的一部分。为了确保主键的唯一性&#xff0c;数据库提供了多种方式来生成这些标识符。其中&#xff0c;数据库序列&#xff08;Sequence&#xff09; 是一种常用且灵活的生成唯一值的…