循序渐进 · 教学 · TypeScript v2(一)

TypeScript v2 函数上手

TypeScript v2 是新一代函数写法:新的 OSDK、更贴近 Node 生态、支持本地 SDK。这篇按建仓库→写函数→预览→发布→使用走一遍。

全部目录 ← 上一篇 TypeScript v2 函数上手 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/functions/typescript-v2-getting-started/
原始标题:TypeScript v2 > Getting started

先记住这几条

① v2 用全新的 OSDK
与 v1 的 SDK 不同,代码写法差异较大。
② 建仓库时选 TypeScript v2
语言在创建仓库阶段就要选对。
③ live preview 验证
发布前先在实时预览里跑通。
④ 提交并打标签才算发布
commit 之后还要 tag,版本才对外可用。
0

写在前面

TypeScript v2 让用户能够利用相比 TypeScript v1 的多项关键改进,包括 Node.js 运行时与一流的 OSDK 支持。阅读下面各节开始上手。

1

第 1 步 · 创建 v2 仓库

第 1 步 · 创建 v2 仓库

要点:新建仓库时选择 TypeScript v2 语言。

导航到你选择的项目,选择 + New > Repository(+ 新建 > 仓库) 创建一个新的代码仓库。选择 TypeScript v2 functions 模板来初始化你的仓库。

创建一个 TypeScript v2 函数代码仓库。
创建一个 TypeScript v2 函数代码仓库。

仓库创建完成后,导航到 typescript-functions/src/functions/helloWorld.ts 文件。

在向函数导入 Ontology 类型之前,请通过 Resource imports(资源导入) 侧边栏添加你的对象类型和链接类型,然后生成并安装 Ontology SDK。这些步骤参见生成 Ontology SDK

2

第 2 步 · 写一个函数

第 2 步 · 写一个函数

要点:v2 的函数写法:默认导出一个 async 函数。

要编写新函数,请在仓库的 typescript-functions/src/functions 目录下新建一个文件,并取一个有描述性的名字,例如 helloWorld.ts。使用 export default 编写函数,Foundry 才能检测到它。

export default function helloWorld(): string {
    return "Hello World!";
}

要使函数能被发布到 Foundry,必须满足以下条件:

  1. typescript-functions/src/functions 目录下的 .ts 文件中定义函数。在该目录中,你也可以把相关函数分组放在子目录里。
  2. 文件名必须与函数名一致。例如,要发布一个名为 myFunction 的函数,它必须定义在该目录下的 myFunction.ts 文件中。
  3. 该 TypeScript 函数必须是文件的默认导出(default export)。
  4. 函数的输入与输出类型必须遵循类型参考中支持的 func 类型。

函数的文件路径用于唯一标识从中发布的那个函数,因此修改文件路径会导致发布出一个新函数。

3

第 3 步 · 实时预览

第 3 步 · 实时预览

要点:不发布也能跑,看返回是否符合预期。

要在实时预览中测试函数,请打开 Functions(函数) 助手并选择 Live preview(实时预览)。选择你的函数并点击 Run(运行) 执行。

在函数助手中运行你的新函数。
在函数助手中运行你的新函数。
4

第 4 步 · 提交并发布

第 4 步 · 提交并发布

要点:提交代码后打标签,函数才正式发布。

选择窗口右上角的 Commit(提交),将改动提交到仓库的 master 分支。要查看函数的检查项,请打开页面顶部的 Checks(检查) 标签页。在这里提交后,你应该能看到一个正在运行的检查项。

选择检查项以查看进度。
选择检查项以查看进度。

提交工作后,你会看到 Tag version(打标签版本) 选项。这将发布仓库中的所有函数。

可用的标签选项。
可用的标签选项。

选择 Tag version,基于 master 分支打一个发布标签。根据改动的范围设置标签名称,然后选择 Tag and release(打标签并发布)

为新的发布选择要打的版本类型。
为新的发布选择要打的版本类型。

要查看函数打标签与发布时的进度,请选择 View(查看) 弹窗,或导航到 Tags(标签) 标签页。一旦 Step 2: Release(第 2 步:发布) 完成,选择已发布的函数即可在 function registry 中查看它们。

在函数发布后,权限传播期间,Workshop 或 function registry 中可能无法立即按名称搜索到这些函数。

标签与发布检查均已通过,新函数已发布。
标签与发布检查均已通过,新函数已发布。
5

第 5 步 · 使用它

第 5 步 · 使用它

要点:发布后在动作、Workshop 等地方调用。

当你所打标签的检查项通过后,导航回 Code Repositories(代码仓库) 中的 Code(代码) 标签页,选择 Functions(函数) 助手。你现在应该能在 Published(已发布) 分区下看到你的函数。选择并运行这个新函数:

在函数助手中运行新函数。
在函数助手中运行新函数。
6

下一步

下一步

要点:继续深入的推荐阅读方向。

创建并发布一个基础函数后,可以探索以下能力:

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「TypeScript v2 函数上手」,读者最常问的几个问题。

第 1 步 · 创建 v2 仓库是什么?
新建仓库时选择 TypeScript v2 语言。导航到你选择的项目,选择 + New > Repository(+ 新建 > 仓库)创建一个新的代码仓库。选择 TypeScript v2 functions 模板来初始化你的仓库。
第 2 步 · 写一个函数是什么?
v2 的函数写法:默认导出一个 async 函数。要编写新函数,请在仓库的 typescript-functions/src/functions 目录下新建一个文件,并取一个有描述性的名字,例如 helloWorld.ts。
第 3 步 · 实时预览是什么?
不发布也能跑,看返回是否符合预期。要在实时预览中测试函数,请打开 Functions(函数)助手并选择 Live preview(实时预览)。选择你的函数并点击 Run(运行)执行。
第 4 步 · 提交并发布是什么?
提交代码后打标签,函数才正式发布。选择窗口右上角的 Commit(提交),将改动提交到仓库的 master 分支。要查看函数的检查项,请打开页面顶部的 Checks(检查)标签页。在这里提交后,你应该能看到一个正在运行的检查项。