• 关于 计算函数 的搜索结果

问题

函数计算

黄一刀 2020-04-04 03:07:45 80 浏览量 回答数 1

问题

函数计算的开始使用阿里云函数计算

boxti 2019-12-01 21:47:56 1289 浏览量 回答数 0

回答

本文简要介绍使用函数计算的流程。函数计算帮助您无需管理服务器(Serverless),仅专注于函数代码就能快速搭建应用。函数计算能够弹性地伸缩,您只需要按使用量付费。 开发者工具 您可以使用 fcli 或者控制台搭建服务和查询日志等。更多详情,请参阅 命令行工具fcli、命令行工具fun 和 可视化界面控制台。 使用简介 使用函数计算前,您需要在 产品详情页 开通服务。以下流程图包含了使用函数计算搭建服务的必要步骤: Flowchart 创建服务。 创建函数,编写代码,将应用部署到函数中。 以事件源触发函数。 查看执行日志。 查看服务的监控。 创建服务 服务(Service)是管理函数计算的基本资源单位。您可以在服务级别上授权、配置日志和创建函数等。 有关服务的更多信息请参阅 服务简介 。 有关服务操作的更多信息请参阅 服务的增删改查。 创建函数 函数(Function)是调度与运行的基本单位,更是一段代码的处理逻辑。您需要根据函数计算提供的函数接口形式编写代码,并将代码以函数的形式部署到函数计算。函数计算中的服务对应于软件应用架构领域中的微服务。在函数计算平台构建应用时,首先根据需求将业务逻辑抽象为微服务,然后再实现为函数计算中的服务。 一个服务下可以创建多个函数,每个函数可以设置不同的内存规格、环境变量等属性,并可以结合用户的实际业务场景来决定是否开启 Initializer 功能。这种服务或者函数层次化的抽象,在系统抽象和实现灵活度上能够取得很好的平衡。例如,实现一个微服务,调用阿里云语音合成服务,将文字转成语音,再把这段语音和一系列图片组合为视频。其中文字转语音函数是调用其他服务,可以设置很小的内存规格。而视频合成函数是计算密集型,需要更大的内存。因此您可以组合多个不同规格的函数实现微服务,优化成本。 有关函数的更多信息请参阅 函数简介。 有关函数操作的更多信息请参阅 函数的增删改查。 触发函数 函数计算支持事件触发,即当某个事件发生时触发函数的执行。例如配置 OSS 触发器后,当 OSS 对应 Bucket 中有对象新增或删除后都会触发函数的执行,方便您处理上传的对象。配置日志服务触发器,当日志服务对应 Logstore 中有新日志写入后可以触发函数的执行,方便您处理写入的日志。您需要设置触发器来设置事件触发的方式。 函数计算目前支持的触发器请参考 触发器列表 。 有关触发器的更多信息请参阅 触发器简介。 有关触发器操作的更多信息请参阅 触发器的增删改查。 如果不配置触发器,您也可以使用控制台、命令行工具 fcli 或者 SDK 等方式直接调用函数执行。 查看执行日志 查看日志是帮助您调试的一个重要环节。关于使用函数计算配置日志并查看日志,请参阅 函数日志。 查看服务监控 您可以在函数计算 控制台 上查看服务监控。 关于监控指标的更多信息,请参阅 监控指标参考手册。 关于监控数据访问的更多信息,请参阅 监控数据访问指南。

1934890530796658 2020-03-27 16:03:17 0 浏览量 回答数 0

海外云虚拟主机包年25元/月起

海外独享虚拟主机全面上线,助力构建海外网站,提升公司国际形象;全球有效覆盖,超高性价比;建站入门首选,助力出口,适合跨境贸易企业。

回答

函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。 借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。 工作流程 函数计算工作流程如下图所示: 数据流向 编号说明 ①. 开发者使用编程语言编写应用和服务。函数计算支持的开发语言请参考 开发语言列表。 ②. 开发者上传应用到函数计算。上传途径包括 函数计算控制台(推荐)、命令行工具 Fun(推荐)、API/SDK 以及 命令行工具 fcli。 ③. 触发函数执行。触发方式包括 OSS、API 网关、日志服务、表格存储以及函数计算 API/SDK 等。 ④. 动态扩容以响应请求。函数计算可以根据用户请求量自动扩容,该过程对您和您的用户均透明无感知。 ⑤. 根据函数的实际执行时间按量计费。函数执行结束后,可以通过账单来查看执行费用,收费粒度精确到 100 ms。更多详情,请参阅 计费方式。 集成服务 函数计算以事件驱动的方式连接其他服务。借助这些方式,您可以构建弹性的、可靠的以及安全的应用和服务,甚至在数天内就能完成一套多媒体数据处理后端服务。当事件源触发事件时,我们会自动调用关联的函数处理事件。例如,对象存储(OSS)在新对象创建 / 删除事件(ObjectCreated/ObjectRemoved)时会自动触发函数处理。或者 API 网关在收到 HTTP 请求时自动触发函数处理请求。此外,函数还可以由 日志服务 或者 表格存储 等其他阿里云服务触发。 函数计算支持的事件源类型请参考文章 触发器列表。 无服务器架构 假设您计划采购服务器开发一款短视频社交应用,那么您需要考虑很多的问题,例如: 如何构建和运维一套弹性的稳定的视频处理后端服务? 需要采购多少台服务器? 服务器采用什么规格? 如何配置网络和操作系统? 如何部署环境? 如何负载均衡? 如何动态伸缩? 如何升级配置? 如何应对服务器宕机? 如何应对用户请求峰值? 如何应对系统监控报警? …… 可喜的是,基础设施的云化,使您能快速调动和使用海量计算资源,无需担心如何短时间内获取合适规格的服务器。但当前云计算的抽象粒度大多在机器级别,要管理和使用这些计算资源仍然有不小的门槛和成本。阿里云函数计算为解决计算成本和效率问题而生,将计算服务的抽象粒度提高到了函数级别,打造无服务器概念的应用设计模式。 使用函数计算,你无需管理底层的基础设施,只需要将您的代码部署到函数计算,并以事件驱动的方式触发函数执行,服务就可以平稳运行。您无需再为环境部署、服务器扩容、服务器宕机等问题烦恼,函数计算提供弹性的扩容机制,并按量计费。此外,函数计算提供日志查询、性能监控和报警等功能,帮助您快速定位问题、排查故障。 产品优势 因此,函数计算主要具备以下优势: 您无需采购和管理服务器等基础设施,运维成本低。 您只需专注业务逻辑的开发,使用函数计算支持的 开发语言 设计、优化、测试、审核以及上传自己的应用代码。 以事件驱动的方式触发应用响应用户请求。与阿里云 对象存储OSS、API 网关、日志服务 和 表格存储 等服务无缝对接,帮助您快速构建应用。例如,通过 OSS 解决图片和视频的存储问题,当有新数据写入您的 OSS 资源时,自动触发函数处理数据。 提供日志查询、性能监控和报警等功能快速排查故障。 毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力。 按需付费,支持百毫秒级别收费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景。更多详情,请参阅 计费方式。 学习路径 您可以通过 函数计算学习路径图 快速了解产品,由浅入深学习使用和运维函数计算。

1934890530796658 2020-03-27 16:02:38 0 浏览量 回答数 0

回答

阿里云提供基于函数计算(Function Compute)处理数据并分发的解决方案。阿里云函数计算是一款基于Serverless架构的轻计算高弹性的产品。 使用函数计算处理数据并分发有以下优势: 便捷:函数计算与表格存储产品对接配置简便,通过控制台上简单配置即可完成产品间的数据对接。弹性:表格存储间隔1秒将更新的数据批量透传给函数计算,如果函数计算一秒内处理不完请求,函数计算会启动新的执行环境来处理后续的请求,实现自动弹性伸缩。业务逻辑:业务逻辑编写到函数计算里,处理好数据后,通过接口调用直接把数据发送给移动推送、消息通道等产品。经济:函数计算是按照触发来计费,业务低谷期的费用非常低廉,不需要额外维护一些服务环境。

剑曼红尘 2020-03-23 15:07:53 0 浏览量 回答数 0

回答

由于安全审计问题,您需要从OSS(多个地域)过去一年的数据(1 个小时一个文件)中找出特定关键字访问的日志,同时做聚合运算(计算出总值)。如果使用阿里云函数计算,您将高峰期每 2 小时的访问日志,或者低谷期每 4 小时的访问日志交给一个计算函数处理,并将处理结果存到RDS中。使用一个函数分派数据给另一个函数,使其执行成千上万个相同的实例。 这样会同时运行近千个计算函数(24 x 365 / 10),在不到一分钟的时间内完成整个工作。同样的事情交给ECS+计算脚本来做计算,单单为这些instance配置网络就让人头疼(不同地域无法走内网下载OSS文件):instance的数量可能已经超出了子网中剩余IP地址的数量(比如,您的VPC使用了24位掩码)。 下面结合阿里云的函数计算产品来讲解各个应用场景中地架构以及如何解决场景中的痛点。阿里云的函数计算是基于Serverless这种架构实现的一个全托管产品,用户只需要上传核心代码到函数计算,就可以通过事件源或者SDK&API来运行代码。函数计算会准备好运行环境,并根据请求峰值来动态扩容运行环境。函数计算是按照执行时间来计费,请求处理完成后,计费停止,对于有业务请求有明显高峰和低谷的应用来说,相对节省成本。 下图是函数计算的一个开发者试用操作流程: 开发者编写代码,目前支持的语言Java、NodeJS、Python等语言。 把代码上传到函数计算上,上传的方式有通过API或者SDK上传,也可以通过控制台页面上传上传,还可以通过命令行工具Fcli上传。 通过API&SDK来触发函数计算执行,同样也可以通过云产品的事件源来触发函数计算执行。 函数计算在执行过程中,会根据用户请请求量动态扩容函数计算来保证请求峰值的执行,这个过程对用户是透明无感知的。 函数执行结束后,可以通过账单来查看执行费用,根据函数的实际执行时间按量计费,收费粒度精确到100ms。

游客pklijor6gytpx 2019-12-02 03:24:00 0 浏览量 回答数 0

问题

什么是函数计算

boxti 2019-12-01 21:47:55 948 浏览量 回答数 0

回答

本文介绍了如何通过函数计算控制台开发简单的 Serverless Hello World 应用。 前提条件 您已注册阿里云账号并完成实名认证。 开通函数计算服务 打开阿里云函数计算首页。 在页面单击免费开通按钮。函数计算首页 在开通成功页面单击管理控制台,进入函数计算控制台。 创建函数 在函数计算页面右下方快速入口区域单击新建函数。快速入口 在创建函数页面,选择事件函数,然后单击下一步。创建函数2 创建函数有三种方式,分别是:事件函数、HTTP 函数和模板函数。本文以事件函数的方式示例。 配置函数 在配置参数页面,输入所有的必填信息。填写完毕后,单击完成。配置函数2 说明: 绑定日志:控制台会默认为您创建 LogProject 和 LogStore,将您的函数执行日志导入到 LogStore 中。 运行环境:运行环境选择您熟悉的语言,例如 Python、Java、PHP、Node.js 等。 函数入口:选择默认。控制台会创建 index.py 的文件与名为 handler 的函数,选择函数入口为 index.handler 会从 handler 函数开始执行。 函数执行内存:默认为 512 MB,最大为 3072 MB。 超时时间:默认为 60 秒,最长为 600 秒,超过设置的超时时间,函数将以执行失败结束。 实例并发度:单个实例能够并发处理的请求数。 执行函数 在代码执行页签,选择在线编辑,单击执行。代码执行2 结果验证 执行完毕后,您可以在页面下方看到执行结果和详细的日志信息。执行结果2执行完毕后,您也可以在日志查询页签查看历史执行情况。查看日志2 更多信息 关于更多触发函数执行的方式,请参见触发器管理。

1934890530796658 2020-03-27 16:03:45 0 浏览量 回答数 0

回答

ZIP文件解压 OSS 控制台新增了对 ZIP 文件自动解压的功能,这个功能需要结合函数计算共同完成,目前只对 ZIP 后缀的文件进行处理,下面介绍配置过程和相关注意事项: 架构图 OSS 控制台配置 如何修改触发器 如何修改目标目录 如何删除触发器 扩展函数功能 大文件支持 架构图 ZIP文件 ZIP文件 OSS OSS 函数计算 函数计算 ZIP文件上传 自动触发函数(缺省支持PUT和POST请求) 解压文件 OSS控制台配置 打开 OSS 的控制台,选择某个 Bucket,在 Bucket 主页选择函数计算,如下图:001 注意:如果没开通函数计算,会提示开通函数后,才能进行下面的操作。 点击 ZIP 包解压按钮,进入 OSS 触发器编辑页面,如下图:002页面属性讲解: 服务授权:授予函数计算读写 OSS 该 Bucket 下的执行函数的权限,需要点击确认进入 RAM 进行授权后使用,每个触发器都需要重新设置一次。 触发器角色:授予 OSS 访问函数计算权限,仅需要设置一次即可。 前缀:当具备某前缀的文件可以触发函数执行,建议用户设置一定要设置,如果不设置,缺省对该 Bucket 下全部的 ZIP 文件都匹配到,有可能会触发循环执行。详细描述 目标目录:解压后的 ZIP 文件存放的目录,如果不设置,缺省会解压到当前 Bucket 下。 费用知晓: ZIP 包解压的功能是增值服务,在解压过程中,函数计算会根据解压执行时间计算费用。 如何修改触发器 当用户设置好触发器后,想进行修改,点击列表的编辑按钮,页面会跳转到函数计算触发器的修改页面进行编辑,如下图所示: 003 用户可以修改事件触发、前缀和后缀名,强烈建议不要修改后缀,因为系统根据后缀已经默认创建了系统函数,来保证业务逻辑的正常运转。 如何修改目标目录 如果用户想修改目标解压的目录,需要在函数计算的环境变量中修改,路径是,点击函数概览,点击函数属性的修改,修改环境变量的值即可,详见下图:004 如何删除触发器 如果用户想删除该功能,从 OSS 控制台点击函数触发器列表的编辑按钮,在函数计算的触发器页面,点击删除即可,删除触发器后,建议同时删除该函数,删除后的 ZIP 解压功能将无法提供运行。 扩展函数功能 通过 OSS 控制台生成的 ZIP 解压功能,是在用户的函数计算里自动生成了一个系统函数,用户可以根据自己的需求来修改函数代码,例如,用户的 ZIP 文件较小,处理的时间较小,可以选择更小规格的内存执行来节省费用,同样,如果用户的 ZIP 文件较大,例如 1GB 以上,建议把超时时间设置更长,以免出现超时现象。 另外,如果解压的文件不仅仅是 ZIP 格式,用户可以根据业务需要,扩展函数代码,目前函数计算提供的缺省函数是 Python2.7语言. 大文件支持 如果压缩文件包含太多文件,解压函数可能会超时,造成解压不完全。函数计算结合 Serverless 工作流服务提供了一个海量文件解压方案,可以在应用中心使用应用(目前该应用仅在上海,北京,杭州,深圳可用)。

1934890530796658 2020-03-27 17:25:36 0 浏览量 回答数 0

问题

边缘函数计算和阿里云函数计算的区别是什么?

保持可爱mmm 2020-04-06 02:06:10 0 浏览量 回答数 1

问题

函数计算如何异步调用

2019-12-01 19:12:52 138 浏览量 回答数 2

回答

解决某一类问题的计算方法又称算法。算法是个古老的数学概念。16世纪R.笛卡尔创造的解析几何就是用代数来解决几何问题的一种典型的算法。但数学中有一些问题长期找不到解决的算法。人们怀疑根本不存在这种算法。为了证明这一点,必须对算法给出精确的定义。20世纪30年代K.哥德尔提出了算法的一种精确定义,S.C.克林据此定义了递归函数。与此同时,A.M.图灵用图灵机(一种理论计算机)来描述算法,并且证明图灵可计算的函数与递归函数等价。图灵机使人们普遍接受了关于算法的丘奇论题:递归函数是可计算函数的精确的数学描述。递归函数是用数理逻辑的方法定义在自然数集上的可计算函数。如果自然数的一个 n 元集的特征函数是递归函数,就称这个集合为递归集,一个递归函数的值域,称为递归可枚举集。递归集就是算法可判定的集合。递归集都是递归可枚举的,但是存在不是递归集的递归可枚举的集合。递归论的研究使人们把一些长期未解决的问题化为非递归的递归可枚举集,从而严格证明了不存在判定这些问题的算法。这些问题称为不可判定的。递归论进一步研究不可判定的,也就是非递归的递归可枚举集之间的复杂程度问题。1944年E.L.波斯特提出不可解度的概念。又给出了相对可计算性的构造方法。这就使人们开始对不可解度进行比较,并研究不可解度的代数结构。这方面出现了有穷损害优先方法、无穷损害优先方法等多种有力的研究手段,出现了许多有趣的研究成果。对可计算的递归集,也可以研究其计算的复杂性,考虑图灵机上计算的时间,空间,就得到计算时间的长短计算所占空间的多少这两个复杂性。计算复杂性的研究对计算机科学的发展有很大影响和作用。

祁同伟 2019-12-02 01:24:49 0 浏览量 回答数 0

问题

函数计算的权限模型

boxti 2019-12-01 21:48:06 1077 浏览量 回答数 0

回答

Python 事件函数 在函数计算服务中使用 Python 编程,需要定义一个函数作为入口函数,本文介绍了Python 事件函数。 函数计算目前支持以下 Python 运行环境: Python 2.7 ( runtime = python2.7 ) Python 3.6 ( runtime = python3 ) Python HTTP 函数 本文介绍了 Python HTTP 函数,为函数设置 HTTP 触发器后,可以方便处理发来的 HTTP 请求,方便搭建 Web 应用。 Python Initializer 函数 Initializer 函数是实例的初始化函数,保证同一实例成功且仅成功执行一次。本文介绍了 Python Initializer 入口的结构和特点。 函数计算目前支持以下 Python 运行环境: Python 2.7 ( runtime = python2.7 ) Python 3.6 ( runtime = python3 ) Python 运行环境 函数计算目前支持以下 Python 运行环境: Python 2.7 ( runtime = python2.7 ) Python 3.6 ( runtime = python3 ) 本文介绍了 Python 运行环境的以下内容: 打印日志 错误处理 使用内置模块 使用自定义模块 调用外部命令

1934890530796658 2020-03-27 16:24:59 0 浏览量 回答数 0

回答

PHP 函数入口 在函数计算中使用 PHP 编程,您需要定义一个 PHP 编写的函数作为入口。本文详细介绍了 PHP 的函数入口定义项。 PHP HTTP 函数 在函数计算服务使用 PHP 编程,需要定义一个函数作为入口函数。本文介绍了 PHP HTTP 函数,为函数设置 HTTP 触发器后,可以方便处理发来的 HTTP 请求。 PHP 运行环境 函数计算支持 PHP 7.2.7(runtime = php7.2)运行环境。本文介绍了 PHP 运行环境的以下内容: 打印日志 错误处理 PHP 内置扩展 PHP 自定义扩展 PHP 内置库 PHP 自定义库 调用外部命令

1934890530796658 2020-03-27 16:26:11 0 浏览量 回答数 0

回答

本文以编写 Hello World 函数为例,演示了在函数计算中如何使用 Fun 创建函数。 背景信息 Fun 是函数计算提供的应用部署工具,可以帮助您便捷地管理函数计算、API 网关、日志服务等资源,快速部署应用。 前提条件 您已注册阿里云账号,并开通函数计算服务。若未开通函数计算服务,请进入函数计算控制台开通。 您的电脑已安装 Fun,安装的详细步骤,请参见 Fun 的安装。 操作步骤 步骤一:配置 Fun 您需要先初始化账号信息,执行以下命令对账号进行配置。 fun config 您需要根据提示依次配置 AccountID(主账号 ID)、AccessKey ID、Secret AccessKey、 Default Region Name。完成配置后,Fun 会将配置保存到用户目录下的 .fcli/config.yaml 文件中。 配置 Fun 的更多操作,请参见使用 fun config 配置 funcraft。您可以登录函数计算控制台,在右上角获取当前账号的 AccountID 和 AccessKey 信息。 1 注意:如果您的账号是子账号,AccountID 需要是主账号的 AccountID、Access Key ID、Secret Access Key 是子账号的密钥。 步骤二:创建初始化模板 配置好 Fun 后,执行以下命令初始化一个模板项目。 fun init -n demo 2 您可以根据提示选择一个您熟悉语言的项目模板,其中以 event- 为前缀的模板是普通的事件函数,以 http-trigger 为前缀的模板会默认为您创建 HTTP 触发器,以 request、response 为入参,帮助您快速搭建 Web 应用。 本示例中选择 event-nodejs10 的模板。 Fun 在我们执行命令的目录下,创建了一个 demo 的目录,并添加了两个文件,分别是 index.js和 template.yml。 index.js 包含了函数的示例代码。 本示例创建了一个返回 hello world 的函数。 template.yml 会告诉 Fun 如何创建函数资源。 本示例为您创建了一个名为 demo 的服务与一个名为 demo 的函数。 template.yml 文件支持的配置项请参见 Serverless Application Model 。 步骤三:本地调试 注意:本地调试需要您本地安装 Docker,如果您本地无法安装 Docker,可以跳过此步骤,在云端调试。 进入 demo 目录,在本地执行函数。第一次执行会拉取执行环境的镜像到本地,耗时较长请耐心等待。 cd demo fun local invoke demo 3 步骤四:部署到云端 本地测试完成后,即可执行以下命令将函数部署到云端。 fun deploy 中途需要您确认需要创建的资源,输入 Y 确认,创建完成后会提示 service demo deploy success 就代表您的资源已经部署成功了。4 步骤五:云端测试 您可以登录函数计算控制台,查看是否部署成功。 登录函数计算控制台,选择您在初始化 Fun 时配置的地方,单击左侧导航栏服务-函数。 找到名为 demo 的服务和名为 demo 的函数,单击进入,即可在控制台查看并执行函数。 进入函数并单击执行,即可在函数计算控制台执行函数。5 步骤六:查看日志 每次执行完毕,可以在当前页面查看本次执行日志。如果需要查看历史执行日志,可以单击日志查询,这需要您为函数配置日志仓库,详情请参见函数日志。 进阶教程 完成以上教程后您可以根据使用场景学习以下文章: 使用触发器 使用函数计算搭建 Web 应用

1934890530796658 2020-03-27 16:18:46 0 浏览量 回答数 0

回答

函数计算阿里云函数计算(Function Compute)是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码。更棒的是,您只需要为代码实际运行消耗的资源付费 - 代码未运行则不产生费用。现在已经上线 https://www.aliyun.com/product/fc

justinjiang 2019-12-02 03:12:44 0 浏览量 回答数 0

回答

代码托管不同:阿里云函数计算的代码运行在阿里云云服务器ECS中;边缘函数计算代码是运行在用户自己的硬件网关中。 访问的目标不同:阿里云函数计算通常用于访问云服务,函数运行环境中预置了常用的阿里云服务SDK;边缘函数计算通常用于访问物联网的网关子设备,预处理和转存子设备数据,函数运行环境中预置了访问子设备信息的SDK。

保持可爱mmm 2020-04-06 02:07:30 0 浏览量 回答数 0

回答

代码托管不同:阿里云函数计算的代码运行在阿里云云服务器ECS中;边缘函数计算代码是运行在用户自己的硬件网关中。 访问的目标不同:阿里云函数计算通常用于访问云服务,函数运行环境中预置了常用的阿里云服务SDK;边缘函数计算通常用于访问物联网的网关子设备,预处理和转存子设备数据,函数运行环境中预置了访问子设备信息的SDK。

保持可爱mmm 2020-03-27 16:40:38 0 浏览量 回答数 0

问题

函数计算绑定自定义域名实现https访问

comenix 2019-12-01 18:55:49 283 浏览量 回答数 1

回答

前言 这篇文章适合所有的 C# 开发新手、老鸟以及想准备学习开发 C# 的程序猿。.NET Core是一个开源通用的开发框架,支持跨平台, 阿里云函数计算推出了 dotnetcore2.1 runtime, 使用 C# 编写 serverless 函数, 详情见官方文档:C# 函数入口. 在官方文档描述中,我们获知阿里云函数计算可以很好支持 asp.net core 的 Applicaiton: ASP.NET Core Web API ASP.NET Core Web App ASP.NET Core Web App (Model-View-Controller) 在介绍 Serverless Web 开发新模式之前,我们先了解下将 C# WebApi/WebApp Serverless 化的好处: 无需采购和管理服务器等基础设施 弹性伸缩,动态扩容 免运维, 极大降低人力成本 按需付费,财务成本低 本文以部署一个完善的 asp.net core 工程 Blogifier 为例,在函数计算环境中为例,向您讲解如何使用阿里云函数计算快速构建或移植基于 asp.net core 开发的 WebApi/WebApp ,通过本文,您将会了解以下内容: 案例概览 传统服务器架构 VS Serverless架构 Serverless架构详解 函数计算运行 Asp.net core App 原理 案例开发配置步骤 案例概览 在本教程中,我们讲解如何利用函数计算一步一步来构建 Web 的 Server 端,该案例是把一个 asp.net core 工程Blogifier 部署到函数计算,本文旨在展示函数计算做 Web Backend 能力,具体表现为以下几点: 完善的 ASP.NET Core Web 系统迁移到 FC 的成本不高 FC 打通了专有网络 VPC 功能,用户的函数可以配置访问专有网络的云资源,比如本案例中 NAS 案例体验入口: http://dotnet.mofangdegisn.cn/ https://dotnet.mofangdegisn.cn/ 传统服务器架构 VS Serverless架构 正常来说,用户开发 Server 端服务,常常面临开发效率,运维成本高,机器资源弹性伸缩等痛点,而使用 Serverless 架构可以很好的解决上述问题。下面是传统架构和 Serverless 架构的对比: image 阿里云函数计算是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询,性能监控,报警等功能。借助于函数计算,您可以快速构建任何类型的应用和服务,无需管理和运维。 Serverless 架构详解 image.png 从上面的示例图中,整体架构十分简单明了, 用 FC 替代了 Web 服务器,但是换来的是免运维,弹性扩容,按需付费等一系列优点 函数计算运行 Asp.net Core App 原理 Asp.net Core App 运行在服务器上 image A http request to your website will go through IIS/Nginx, then Kestrel, and finally will be passed on to ASP.NET Core Asp.net Core App 运行在函数计算上 image 请求通过函数(with http trigger), 最后到达ASP.NET Core tips: 基于函数计算环境运行新建 asp.net core app 可以参考dotnet runtime HTTP 触发器的函数入口示例 在本文中,我们展示把一个现有的成熟的 asp.net core 工程低成本无缝迁移到函数计算环境。 案例开发配置步骤 准备工作 1. 创建 NAS 挂接点,配置 VPC , 具体参考函数计算nas使用示例 注:在本示例中使用 sqlite3 数据库,这种文件类型的数据库直接放置在 nas 即可,如果使用 mysql 等其他数据库, 需要创建 RDS 数据库, 配置 VPC , 具体参考通过 VPC 访问 RDS 实例 可选操作,在准备函数的 region 创建日志,用于函数的调试, 具体参考函数计算配置日志服务 创建函数 创建 Service (假设是 csharp-web), 配置准备 vpc config , nas config 和日志服务,比如案例体验的 Service 配置如下图: image 下载 asp.net core 工程,Blogifier, 用 vs 打开, debug 本地可以正常运行。 注:本地安装 dotnetcore2.1 在工程中增加入口函数,使得该工程可在函数计算执行环境运行,diff dotnet publish -c Release, 跳转到publish目录, 将相关的静态资源/可写/共享目录移动到上述配置的 NAS 的某个目录(这里假设是 www目录, 对应步骤2中的diff) dotnet publish -c Release cp -r plugins/Common/bin/Release/netcoreapp2.1/publish/* src/App/bin/Release/netcoreapp2.1/publish/ src/App/bin/Release/netcoreapp2.1/publish/ mkdir lib // 选择函数计算执行环境所需要的so, 其他的删除即可 cp runtimes/linux-x64/native/libe_sqlite3.so ./lib // 这里是传送对应的静态文件和 app.db 到 nas 中, 详情看下面的描述 rm -rf wwwroot app.db runtimes zip -r code.zip * // 最后使用这个 code.zip 创建 handler 为 App::App.FcRemoteEntrypoint::HandleRequest 函数 将 publish 目录下的 wwwroot 和 app.db 传送到 nas 的 www 目录, 可以使用 ecs 挂载 nas 传输过去, 也可以采用如下简单函数传输过去 |-- index.py |-- www 注: www目录下面有 wwwroot 和 app.db index.py代码: -- coding: utf-8 -- import logging import os def handler(event, context): os.system("mkdir -p /mnt/share/www") os.system("cp -r /code/www/* /mnt/share/www/") os.system("chmod -R 777 /mnt/share/www") print( os.system("ls -ll /mnt/share/www") ) return 'ok' 基于上述代码创一个函数 move-res-nas , 执行函数,将相关静态和共享资源移动到 NAS 的/mnt/share/www/ 目录。 注:最新版本的 Fun 工具已经支持 NAS 相关操作, 有兴趣的同学可以使用 Fun 完成 NAS, VPC 的自动生成、配置以及网站工程文件上传到 NAS 创建入口函数 blog (使用上一步骤中的 code.zip ), 给函数设置 http trigger ,类型为 anonymous , 类型都选上。给函数入口配置自定义域名(操作过程请参考:绑定自定义域名示例), 具体配置假设如下: image 注意: 绑定自定义域名之后,不用使用控制台来进行调试,就只能使用浏览器来触发函数,日志服务来进行调试。 总结 函数计算有如下优势: 无需采购和管理服务器等基础设施 专注业务逻辑的开发 提供日志查询、性能监控、报警等功能快速排查故障 以事件驱动的方式触发应用响应用户请求 毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力 按需付费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景 除了上面所列的优势,FC 可以做为 Web Backend,只需要编写一个函数实现传统 Web 服务器中的 conf 中的逻辑,就可以将一个完整的 Web 工程迁移到 FC ,从而从传统的 Web 网站运维,监控等繁琐的事务中解放出来。

1934890530796658 2020-03-27 17:30:59 0 浏览量 回答数 0

回答

使用 Serverless 工作流调用函数计算的函数之前,您需要先创建函数计算资源。下文的示例展示了创建一个函数的操作步骤。 操作步骤 登录函数计算控制台。 在函数计算概览页面,选择华东 1(杭州)地域,单击创建服务图标。 overview_create_service_button 在创建服务页面填写服务名称。 create_service_form 单击确定。 在函数计算服务概览页面,单击创建函数图标。 service_overview_create_function_button 选择空白函数模版。 create_function_step1 在触发器配置页面,触发器类型选择不创建触发器,单击下一步。 create_function_step2 在基础管理配置页面,函数代码文本框中输入下面的示例函数。这个函数期望输入 event 是一个 JSON 对象,如果对象中有 name,则返回 {"hello": "event 中 name 对应的值"};否则返回 {"hello": "world"}。 create_function_step3 -- coding: utf-8 -- import json def handler(event, context): evt = json.loads(event) if "name" in evt: return { "hello": evt["name"] } else: return { "hello": "world" } 在权限配置中单击下一步,在信息核对中点击创建。 create_function_step4 执行结果 至此,您已在函数计算华东1 (杭州)地域创建了服务 fnf-demo 以及函数 hello。

1934890530796658 2020-03-27 00:49:47 0 浏览量 回答数 0

回答

准备工作 使用 Serverless 工作流调用函数计算的函数之前,您需要先创建函数计算资源。下文的示例展示了创建一个函数的操作步骤。 操作步骤 登录函数计算控制台。 在函数计算概览页面,选择华东 1(杭州)地域,单击创建服务图标。 overview_create_service_button 在创建服务页面填写服务名称。 create_service_form 单击确定。 在函数计算服务概览页面,单击创建函数图标。 service_overview_create_function_button 选择空白函数模版。 create_function_step1 在触发器配置页面,触发器类型选择不创建触发器,单击下一步。 create_function_step2 在基础管理配置页面,函数代码文本框中输入下面的示例函数。这个函数期望输入 event 是一个 JSON 对象,如果对象中有 name,则返回 {"hello": "event 中 name 对应的值"};否则返回 {"hello": "world"}。 create_function_step3 -- coding: utf-8 -- import json def handler(event, context): evt = json.loads(event) if "name" in evt: return { "hello": evt["name"] } else: return { "hello": "world" } 在权限配置中单击下一步,在信息核对中点击创建。 create_function_step4 执行结果 至此,您已在函数计算华东1 (杭州)地域创建了服务 fnf-demo 以及函数 hello。 执行流程 创建流程

1934890530796658 2020-03-27 00:47:37 0 浏览量 回答数 0

回答

场景描述 用户通过手机终端、Web应用、或者PC工具把各种文件包括图片、视频以及文本等上传到OSS(对象存储,下同)后,利用OSS的PutObject事件可以触发函数计算对上传后的文件进行处理。 典型场景 当用户把视频文件上传到OSS后,触发函数计算把对象的Meta信息获取并传输给核心算法库,核心算法库根据算法把相应的视频文件推送CDN源站,达到特定视频热加载的处理。另外一个场景,视频文件上传到OSS后也同时触发函数计算同步做多转码率的处理,并把处理后的视频文件存储到OSS中,完成轻量的数据处理。 在多媒体的处理场景中,经常会碰到海量文件上传到OSS后,还需要对文件进行进一步的加工,例如加水印、转码率、获取文件属性等操作,这个场景中,用户在处理的时候会遇到以下需要解决的技术难点: 如何接收文件上传后的动作事件,通常的做法是定制消息通道来接收OSS事件通知,搭建一个运行环境,并编写相关的代码来处理事件通知。 如何高效的处理完海量上传的文件。 如何无缝的把多个云产品连接起来。 通过函数计算能比较方便解决以上几个技术难点: 函数计算可以设置OSS的触发器来接收事件通知,在函数计算中编写业务代码来处理文件,并通过内网把文件传输到OSS中,整个流程简单易用可扩展。 可以把核心代码部署到函数计算中,通过函数计算来并发处理事件通知。 函数计算目前打通了多款产品的内部交互,通过控制台简单配置就可以高效的解决产品间连接问题。 事件触发场景常规做法: 设置消息通道接收事件,并编写业务代码。 购买服务器资源做后端数据处理。 设计一套多并发框架完成业务上传文件峰值的处理。 开通多个产品,并调用SDK代码来完成业务交互。 函数计算解法: 在控制台上配置事件源通知,编写业务代码。 代码写到函数计算里,不需要管理软硬件环境。 业务高峰期函数计算会动态伸缩,无需管理。 内置打通多款产品,简单配置就可以无缝对接。

游客pklijor6gytpx 2019-12-02 03:24:00 0 浏览量 回答数 0

回答

Node.js 事件函数 在函数计算服务使用 Node.js 编程,需要定义一个 Node.js 函数作为入口。本文介绍了 Node.js 事件函数的结构和特点。 Node.js HTTP 函数 在函数计算服务使用 Node.js 编程,需要定义一个函数作为入口函数。 本文介绍了 Node.js HTTP 函数,为函数设置 HTTP 触发器后,可以直接处理发来的 HTTP 请求,方便搭建 Web 应用。 Node.js Initializer 函数 Initializer 函数 是实例的初始化函数,保证同一实例成功且仅成功执行一次。 本文介绍了 Node.js Initializer 函数的结构。 Node.js 运行环境 函数计算目前支持 Node.js 6.10(runtime = nodejs6)、Node.js 8.9.0(runtime = nodejs8)和 Node.js 10.15.3(runtime = nodejs10)运行环境。本文介绍了 Node.js 运行环境的以下内容:

1934890530796658 2020-03-27 16:23:19 0 浏览量 回答数 0

回答

函数计算应用 订阅设备数据 通过配置设备到边缘应用的消息路由,自动推送设备数据到函数计算的handler函数中,然后解析函数计算中的event参数,即可获取到设备上报的数据。 调用设备请求方法 调用函数计算SDK,即可调用到对应设备的请求方法。 容器镜像应用 通过访问Link IoT Edge的MQTT API,订阅设备数据或调用设备请求方法,详情请参见边缘端MQTT API

保持可爱mmm 2020-04-06 01:53:13 0 浏览量 回答数 0

问题

函数计算服务后续会否有大的变动,目前选用会否带来兼容性风险

itkotw 2019-12-01 20:24:50 1010 浏览量 回答数 1

回答

函数计算应用 订阅设备数据 通过配置设备到边缘应用的消息路由,自动推送设备数据到函数计算的handler函数中,然后解析函数计算中的event参数,即可获取到设备上报的数据。 调用设备请求方法 调用函数计算SDK,即可调用到对应设备的请求方法。 容器镜像应用 通过访问Link IoT Edge的MQTT API,订阅设备数据或调用设备请求方法,详情请参见边缘端MQTT API。

保持可爱mmm 2020-03-27 16:38:13 0 浏览量 回答数 0

问题

基于函数计算的serverless应用开发

福利达人 2019-12-01 20:54:32 468 浏览量 回答数 0

问题

函数计算如何使用 ssl

pompey 2019-12-01 19:08:54 267 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播