检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
高可用,利用OBS,Cloud Table的高可用性实现网站数据的高可靠性,利用API Gateway和FunctionGraph的高可用性实现网站逻辑的高可用。 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。
project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3
使用FunctionGraph函数和CTS识别非法IP的登录登出操作 案例概述 准备 构建程序 添加事件源 处理结果 父主题: 功能应用类实践
获取项目ID请参考:查询指定条件下的项目列表。 获取用户组名称和ID 登录IAM控制台,在左侧导航栏选择“用户组”。 单击需要查询的用户组前的“”,即可查询用户组名称、用户组ID。 获取区域ID 登录IAM控制台,在左侧导航栏选择“项目”。 “项目”列的内容即为所属区域对应的ID。 获取委托名称和ID 登录IAM控制台,选择“委托”页签。
开发一个简单的Hello World函数。该章节以创建HelloWorld事件函数为例,介绍函数的创建及测试过程,供您快速体验FunctionGraph函数的基本功能。 准备工作 注册华为账号并实名认证。 在创建函数前,请先注册华为账号并实名认证,具体步骤请参考注册华为账号并开通华为云和实名认证介绍。
Administrator”和“SMN Administrator”。 SMN Administrator:拥有该权限的用户可以对SMN服务下的资源执行任意操作。 选择“CTS Administrator”,由于该策略有依赖,在勾选时,还会自动勾选依赖的策略:Tenant Guest。
FunctionGraph支持的触发事件 FunctionGraph支持的触发事件 表1列出了支持触发FunctionGraph函数的云服务,可以将这些云服务配置为FunctionGraph函数的事件源,即配置函数的触发器。在配置事件源映射后,这些事件源在检测到相应事件时将自动调用FunctionGraph函数。
通过CTS云审计服务,完成对公有云账户对各个云服务资源操作动作和结果的实时记录。 通过在函数工作流服务中创建CTS触发器获取订阅的资源操作信息,经由自定义函数对资源操作的信息进行分析和处理,产生告警日志。 SMN消息通知服务通过短信和邮件推送告警信息,通知业务人员进行处理。处理流程如图1所示。
本案例提供了实现告警日志功能的程序包,使用空白模板创建函数,用户可以下载(index.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust”。
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
配置函数的依赖包 函数依赖包概述 制作函数的私有依赖包 为函数配置依赖包 父主题: 配置函数
功能说明 本节定义了FunctionGraph服务中“函数”上报云监控服务的监控指标。 指标的命名空间和维度,您可以通过云监控服务提供的API接口来检索FunctionGraph服务中“函数”产生的监控指标和告警信息。 命名空间 SYS.FunctionGraph 监控指标 表1 监控指标
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
函数工作流提供了按量和预留两种类型的实例。 按量实例是由函数工作流根据用户使用函数的实际情况来创建和释放,当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先
遥测是一种特殊的扩展,扩展进程中必须完成以下工作才能成功启用遥测功能: 在使用OpenTelemetry API之前,需要先注册拓展,具体内容可参考扩展API使用。 在拓展启动一个httpClient,向FunctionGraph发送注册Telemetry API的请求。 创建一
连接池耗尽后获取连接的最大等待时间 表3 Connection配置 参数 默认值 说明 host localhost 连接Redis实例的IP地址/域名 port 6379 连接端口号 password - 连接密码 socket_timeout None 请求等待响应的超时时间(秒)
Framework需要访问您的华为云账号的凭证,代表您创建和管理资源。 创建华为云账号 打开华为云官网,选择“注册”,详情请参考注册华为账号并开通华为云。 获取凭证 您需要创建凭证,以便Serverless可以使用它们在项目中创建资源。 进入“访问密钥”页面,获取您华为云账号的访问密钥。 创建
project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 权限根据授权的精细程度,分为角色和策略。角色以服务为粒度,是IAM最初提供的一种根据用户的工作职能定
URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1