Tag: Openwhisk

使用OpenWhisk的无服务器Swift

Swift是开发人员中增长最快的编程语言之一。 Swift排名前15位,比我们追踪的任何其他语言都要快。 RedMonk编程语言排名 redmonk.com/sogrady/2017/03/17/… 该语言是为构建移动应用程序而创建的,现已在后端开发中流行。 但是,对于开始构建后端应用程序的Swift开发人员而言,他们现在发现自己必须管理计算基础架构才能在云中运行其应用程序。 进入无服务器云平台…☁️☁️☁️ 这些服务允许开发人员将代码(而不是VM)推送到云中。 该平台允许您将外部事件源(例如API请求或消息队列)连接到代码中的函数。 当事件发生时,您的代码将被实例化并执行以处理每个请求。 开发人员仅需为处理每个请求所需的毫秒数付费。 无服务器平台使您可以在云中运行应用程序,而不必担心基础架构。 😎 Apache OpenWhisk 是当前唯一支持Swift语言功能的无服务器平台。 让我们先看一下如何在OpenWhisk中使用Swift,然后再深入研究该平台如何实现此功能,为我们提供一些有关OpenWhisk上Swift的提示和技巧。 Swift on OpenWhisk 使用CLI 使用以下源代码创建一个Swift文件。 func main(args:[String:Any])-> [String:Any] { 如果让name = args [“ name”]为? 字符串{ return [“ greeting”:“你好\(名字)!” ] }其他{ return [“ greeting”:“你好陌生人!” ] } } 快速动作必须消耗并返回字典。 作为函数参数传递的字典将包含事件参数。 返回的字典值必须支持序列化为JSON。 使用命令行实用工具创建并调用新的OpenWhisk操作。 $ wsk action创建swift action.swift 好的:快速创建动作 $ wsk操作调用swift –result […]

无服务器的Swift와Slack Slash命令를CLI —기—第1部分

在Xcode中使用iOS版本在Alamofire中使用debugPrint() API中的使用。 在Xcode中下载。다는느꼈다。 。스위프트 스위프트 프로그래밍 다음과이출력된다。 \Uc2a4\Uc704\Ud504\Ud2b8 \Ud504\Ub85c\Uadf8\Ub798\Ubc0d 。스트기편집로에확인했다확인했다。 。이많이갔다。 난해지난해7월XCKoLog라는CLI를다。 。손으하던해주는능을능을도구도구도구다도구 。제문있었으므로배포했다。 XCKoLog X지있다는다알았다。 이유는가가지로보였다。 CLI(XCKoLog)下载(CLI),CLI(CLILog)下载。 왕지아니이만면이면다면는이스를보바꿔로했다。 Swift가iOS(그mac고macOS)쓰이는이관심다。 Swift가오픈소스가되면서Linux에이되고사이드(服务器端)프레임워크들이화제가되었다。 快速浏览器(Serverless),OpenWhisk的IBM이공개한리스오픈소스프로젝트로인큐베이터에가있다。 XCKoLog XCKoLog Log앱서버서버서버서버서버서버서버서버다다다다다다다스다 。이스등제약은있다。 XCKoLog는도구므므므므스스스스스스스스스스。。 IBM的OpenWhisk产品和服务。 지난해8 XCKoLog를IBM Bluemix OpenWhisk등록했다。 당시Swift버전은3.1을지원했다。 IBM Cloud Functions发行版,Swift 4.0版지원한다。 照片。 IBM Cloud Functions的供应商(以下简称:供应商)。 动作(动作)的下载。 오른쪽의오른쪽의 Action Action Action Action Action Action Action Action Action Action Action Action […]

为OpenWhisk创建Swift二进制文件

在上一篇博客文章中,我们解释了如何使用OpenWhisk操作编写无服务器Swift函数。 Swift源文件在处理请求之前由平台编译。 此编译过程会增加“冷”运行时的调用时间延迟。 如果一段时间未调用该操作,系统负担沉重或并行接收多个调用,则需要初始化新的运行时。 可以部署预编译的二进制文件以消除此延迟。 必须为正确的平台体系结构编译二进制文件,并支持通过OpenWhisk运行时执行。 现在有了一个 Swift软件包, 可以使构建预编译二进制文件的过程变得更加容易。 让我们看看它是如何工作的…… Swift在Swift 3.0中引入了一个包管理器。 程序包管理器与构建系统集成在一起,以“自动执行依赖项的下载,编译和链接过程”。 Swift使用清单文件( Packages.swift )定义包属性,包括依赖项。 这是来自外部依赖的示例包中的示例清单文件。 导入PackageDescription让package = Package( 名称:“ DeckOfPlayingCards”, 目标:[], 依赖项:[ .Package(URL:“ https://github.com/apple/example-package-fisheryates.git”, majorVersion:1), .Package(URL:“ https://github.com/apple/example-package-playingcard.git”, majorVersion:1), ] ) 包通过解析为Git存储库的URL引用。 语义版本约定用于控制安装的软件包版本。 在构建过程中,将外部软件包下载,编译并链接到项目中。 $ swift build Fetching https://github.com/apple/example-package-deckofplayingcards.git Fetching https://github.com/apple/example-package-fisheryates.git Fetching https://github.com/apple/example-package-playingcard.git Cloning https://github.com/apple/example-package-fisheryates.git Resolving https://github.com/apple/example-package-fisheryates.git at 2.0.3 Cloning https://github.com/apple/example-package-playingcard.git Resolving https://github.com/apple/example-package-playingcard.git at […]

使用新的OpenWhisk调试器

无服务器计算的迅速普及也就不足为奇了。 隐式可伸缩性,事件驱动/自动数据处理,简单性,可重用性,可组合性和降低的成本只是无服务器编程模型开始兴起的几个原因。 人们有时会反对使用无服务器编程模型的一个论据是,由于无法将本地调试器附加到无服务器操作上,因此无服务器操作可能更难开发,但实际上,既然有了wskdb ,这不再是问题。 wskdb:OpenWhisk调试器 如果您还没有看到它,那么现在您可以wskdb ,它是新的/ Beta版OpenWhisk调试器。 它允许您在丰富的调试环境中调试本地计算机上的OpenWhisk操作,就像调试本地代码一样。 实际上,您实际上是在调试本地代码。 使用调试器时,您将附加到操作。 然后,对该操作的调用将重新路由到您的开发机,您可以在其中调试并进行本地更改。 调试完成后,您可以推送更改,或者只是断开连接即可清理重新路由。 您甚至可以调试序列中的特定操作。 假设您有一个由操作A,B,C和D组成的序列。您可以将调试器附加到这些操作中的任何一个上。 因此,如果我想调试动作C,则将其附加到动作C。调用序列时,将在OpenWhisk环境中执行动作A和B,然后将在本地调试环境中调用动作C,然后将动作D在OpenWhisk环境中执行。 您可以使用OpenWhisk调试器来调试Node.js / JavaScript,Swift或Python操作,它使您能够达到断点,单步执行代码,检查内存值等等。 查看此概述: 可用的命令是: 指令说明 列表,l列出可用的操作 cli使用CLI调试器(如果可用) 调用,我调用一个动作 检查,获取,检查OpenWhisk操作的详细信息 火,f扳机 附加,附加到动作 分离,动作分离 diff显示给定操作的待处理差异 p,发布对给定操作的未决更改 退出,退出,e,q退出调试器 clean,c清除调试工件 创建动作 删除删除动作 帮助,h ,? 打印此帮助文本 要调试动作,您必须首先运行attach命令–这将设置“管道”以能够调试您的动作。 一旦连接了调试器,就可以使用in invoke命令(像OpenWhisk CLI一样传递参数)。 在下面的屏幕截图中,您可以看到我如何附加和调用我的斐波那契操作(该操作会在斐波那契序列中生成数字): 这将启动调试过程。 对于JavaScript / Node.js操作,这将基于您熟悉的Chrome / Blink / Webkit / Node Inspector调试器,如下图所示。 这样就可以检查内存中的变量,设置断点,逐行执行代码等。所有这些都是非常有用的开发和调试工具。 […]