函数编辑环境

段函数创建可重用的代码,可以在段工作区中运行,以便更换传入的事件或作为目的地来处理特定事件类型。

当您创建一个函数,为它编写代码,并保存它时,该函数将出现在工作区中的Catalog中只有。然后,您可以将该功能部署到您的工作空间中,就像部署传统的源或目标一样。

通过特定控制功能访问管理角色。您可能需要额外的访问权限来创建和部署函数。

创建功能

只有功能管理员可以创建或编辑功能。

  1. 从您的工作空间转到Catalog并单击功能选项卡
  2. 点击新功能
  3. 选择要构建的功能类型,然后单击建造

    当你点击建造,将出现代码编辑器。根据您创建的函数类型,可用不同的模板代码。

  4. 使用编辑器为函数,配置设置和测试功能的行为编写代码。
  5. 编写完函数后,单击配置给它一个名字。
  6. 点击创建功能保存您的工作,并使此功能在您的工作空间中可用。

你点击后创建功能,该函数出现在函数目录页面在您的工作区。

编辑功能

如果你是一个工作区所有者或者函数管理员,您可以从中管理您的功能函数目录页面

编辑或删除目标功能“></p>
        <p>如果您正在编辑一个现有的函数,您可以这样做<strong>保存</strong>更改而不更改功能的现有实例的行为。</p>
        <p>你也可以选择<strong>保存和部署</strong>将已部署的工作空间中的所有或特定功能的更改推送。您可能需要其他权限来部署这些更改。</p>
        <h2 id=部署源功能

你必须是一个工作区所有者或者源管理在工作区中连接函数的实例。

  1. 来自功能选项卡,找到要部署的源函数。
  2. 点击连接源码并按照提示配置源。(稍后您可以通过导航到源函数的源设置页面来访问这些设置。)
  3. 找到源的WebHook URL,无论是在概述或者设置→终点页。
  4. 复制此URL并将其粘贴到上游工具或服务中。

部署目标函数

如果您正在编辑一个现有的函数,您可以这样做保存更改而不更改已部署函数的行为。你也可以选择保存和部署将已部署的工作空间中的所有或特定功能的更改推送。

在工作区中部署目标函数时,您将填写目标配置页面上的设置,类似于您将如何配置正常目标。

函数权限

函数具有可用于的特定角色访问管理在您的段工作区中。

访问函数的访问由两个权限控制角色

  • 函数admin:创建,编辑和删除所有函数,或指定函数的子集。
  • 只读功能:查看所有功能,或指定函数的子集。

你还需要额外的源管理启用源函数、将目标函数连接到源或对现有函数部署更改的权限。

️️settings和秘密

设置允许您将可配置变量传递给函数,这是传递安全令牌等敏感信息的最佳方式。例如,您可以使用设置作为占位符,使用API​​端点和API键等信息。这样,您可以使用相同的代码,以针对不同的目的使用不同的设置。在工作区中部署函数时,系统会提示您填写这些设置以配置该功能。

首先,添加一个设置设置代码编辑器中的选项卡:

Settings选项卡“width=

点击添加设置添加新设置。

添加设置对话框“></p>
        <p>您可以配置有关此设置的详细信息,该详细信息更改了使用函数的任何人将其显示的方式:</p>
        <ul>
         <li><strong>标签</strong>- 设置的名称,用户在配置功能时看到。</li>
         <li><strong>名称</strong>- 在功能的源代码中使用的设置的自动生成名称。</li>
         <li><strong>类型</strong>—设置值的类型。</li>
         <li><strong>描述</strong>—可选描述,出现在设置名称下方。</li>
         <li><strong>要求</strong>—启用此选项以确保没有值就不能保存设置。</li>
         <li><strong>加密</strong>- 启用以加密此设置的值。使用此设置进行敏感数据,如API键。</li>
        </ul>
        <p>当您更改这些值时,将预览到正确的更新,以显示您的设置的外观和工作方式。</p>
        <p>点击<strong>添加设置</strong>保存新设置。</p>
        <p>保存设置后,它将出现在<strong>设置</strong>TAB为功能。您可以从此选项卡编辑或删除设置。</p>
        <p><img src=

运行时和依赖关系

函数使用Node.js 10.x。

函数目前不支持导入依赖项,但您可以联系段支持请求增加一个。

默认情况下,以下依赖项安装在函数环境中。

只有加密node . js模块包括(暴露为加密)。其他内置Node.js模块目前无货。

缓存

每函数全球缓存可用缓存命名空间。以下功能可用:

  • 缓存。负载(钥匙:string, ttl: number, fn: async () => any): Promise
    • 获得提供的缓存值钥匙如果值丢失或已过期,请调用回调。这TTL.是最长持续时间以毫秒为单位高速缓存。如果省略或设置为-1,该值将没有过期。但是,不能保证某个值会在所提供的持续时间内保留在缓存中。缓存空间有限,因此尽量减少缓存值大小将提供更高的缓存命中率。
  • cache.delete(关键:字符串):空白
    • 强制删除与之相关的值钥匙

下面的例子通过缓存获取一个JSON值,只在需要时调用回调:

常量TTL.=5.*60.*1000/ / 5分钟常量=等待缓存负载mycachekeyTTL.()= >{常量res.=等待获取http://echo.jsontest.com/key/value/Ole/two.常量数据=等待res.json()返回数据})

此页面上次修改:2020年7月14日



开始使用细分

细分是将你的网站和手机应用数据整合到300多个分析和增长工具中的最简单方法。
或者
创建免费帐户