You need to enable JavaScript to run this app.
导航
使用边缘函数CLI
最近更新时间:2023.12.20 19:13:05首次发布时间:2023.02.15 19:04:51

nest是边缘函数提供的CLI(Common Line Interface)工具,支持运行在Linux和macOS操作系统。您可以通过操作系统中的命令行终端安装nest,然后使用nest创建和管理边缘函数,以及远程调试、发布代码等。

安装nest

您可以在Linux和macOS操作系统中安装nest。

注意

nest暂不支持Windows操作系统。

在Linux上安装nest

  1. 登录操作系统。

  2. 安装依赖工具。

    apt-get install curl wget
    
  3. 安装nest。

    curl -s https://sparrow-tob-tos.tos-cn-beijing.volces.com/nest%2Finstaller-linux.sh | bash
    

在macOS上安装nest

  1. 打开命令行工具(如macOS自带的终端工具)。

  2. 安装依赖工具。

    brew install curl wget
    
  3. 安装nest。

    curl -s https://sparrow-tob-tos.tos-cn-beijing.volces.com/nest%2Finstaller_mac.sh | sh
    

获取帮助

成功安装nest后,您可以运行以下命令,获取nest的使用说明。

nest -h

nest命令使用说明

本章节介绍了使用nest命令管理边缘函数的方法,具体包括创建函数、打包代码、发布函数、设置环境变量、查看发布记录、创建定时任务、管理域名、使用KV存储等。

说明

本文中所有命令示例均以macOS自带的终端工具为例。

命令结构

nest命令采用以下结构:

nest <command> <child-command> [options]

注意

所有nest命令都包含nest<command>部分,有的nest命令还包含<child-command>[options]

使用nest命令时,您必须按照固定的顺序指定不同部分:

  1. nest:表示调用nest程序。
  2. <command>:表示要执行的nest命令,对应于某个功能模块。如nest envs表示查看环境变量模块。
  3. <child-command>:表示要执行的nest命令的子命令,对应于在功能模块下执行的操作。如nest envs add表示增加环境变量。
  4. [options]:表示操作所需选项或参数。如nest envs add -k "key" -v "value"表示增加键值对为key-value的环境变量。
    • 如果某个命令有多个参数,您可以按照任意顺序指定参数。
    • 参数可以采用各种类型的输入值,例如数字、字符串、列表、映射和JSON结构。支持的内容取决于您指定的命令和子命令。

命令列表

nest工具支持的所有命令如下表所示。

命令

子命令

说明

generate

/

创建函数。

build

/

编译并打包代码。

debugger

/

登录远程调试服务器调试代码。
在调试模式下,您可以使用调试命令

publish

/

执行全量发布。

canary

执行灰度发布。

envs

/

查看环境变量。

add

添加环境变量。

delete

删除环境变量。

clusters

/

查看所有节点。

setc

将指定节点设置为灰度节点。

setn

将指定节点设置为为正常节点。

tickets

/

查看历史发布记录。

cron

/

查看定时任务。

task

查看调度任务。

log

查看日志记录。

create

创建定时任务

update

更新定时任务。

start

启用定时任务。

stop

禁用定时任务。

delete

删除定时任务。

domain

/

查看边缘函数域名。

cdn

查看CDN域名。

add

创建边缘函数域名。

delete

删除边缘函数域名。

start

启用边缘函数域名。

stop

停用边缘函数域名。

bind

为函数绑定域名。

unbind

为函数解绑域名。

https

为域名配置SSL证书。

kv

/

查看KV存储空间。

create

创建KV存储空间。

create key

创建Key。

update

修改KV存储空间。

update key

修改Key。

delete

删除KV存储空间。

delete key

删除Key。

key

查询Key的Value。

创建函数 - generate

使用nest generate命令创建一个函数。

用法

  1. 执行以下命令,开始创建函数。

    nest generate
    
  2. 为函数设置名称。示例:fc-demo
    输入要求:只允许使用英文大小写字母、数字和连字符(-)。长度不超过128个字符。
    完成上述操作后,系统将在当前路径下创建以函数名称命名的文件夹。

  3. 编辑函数配置(config.json)。
    您必须编辑函数配置,提供您的身份凭证(即火山引擎账号的API访问密钥),然后才能继续使用函数。

    1. 进入函数所在目录。

      cd fc-demo
      
    2. 编辑函数配置(config.json)。

      vim config.json
      
    3. 将其中access_keysecret_key的值分别替换为您的火山引擎账号的API访问密钥(Access Key IDSecret Access Key)。

      说明

      您可以登录火山引擎控制台,在API访问密钥页面获取密钥信息。从提升账号安全性角度,建议您提供子账号的密钥。

      图片

config.json说明

config.json表示函数配置文件,包含以下参数。

参数

说明

domain

系统预留参数。您无需关注。

name

函数的名称。

product

系统预留参数。您无需关注。

service

可选。脚本配置。新建的函数默认包含default脚本。您可以修改service,在当前函数下添加其他的脚本。

region

边缘函数云服务的地域。您无需修改。

api_version

边缘函数云服务的版本。您无需修改。

api_host

边缘函数云服务的地址。您无需修改。

api_timeout

边缘函数云服务器的调用超时时间。您无需修改。

created

函数是否关联了边缘函数控制台中的函数。默认值为false
您成功发布函数后,系统将在边缘函数控制台创建与当前函数关联的函数,该参数的值将变为true

identity

函数在边缘函数控制台中的ID。默认值为空。
您成功发布函数后,系统将在边缘函数控制台创建与当前函数关联的函数,该参数的值将变为边缘函数控制台中函数的ID。

access_key

访问边缘函数云服务所使用的API访问密钥的ID。默认值为空。
您必须将access_key的值替换为火山引擎账号的API访问密钥ID(Access Key ID)。

secret_key

访问边缘函数云服务所使用的API访问密钥的Secret。默认值为空。
您必须将access_key的值替换为火山引擎账号的API访问密钥Secret(Secret Access Key)。

示例

  • 创建函数
    图片
  • 编辑函数配置(config.json
    图片

打包代码 - build

使用nest build命令对函数代码进行打包。

说明

nest内置了esbuild工具用于代码打包。

用法

  1. 进入函数所在目录。

    cd fc-demo
    

    系统会读取函数所在目录下的config.json文件对代码打包。因此,您必须先进入函数所在目录。

  2. 执行以下命令,对函数代码打包。

    nest build
    

示例

图片

调试代码

nest提供了代码远程调试功能。您可以将函数本地代码上传到远程调试服务器,然后模拟客户端请求,查看函数运行后的效果,从而对代码进行调试。

前提

调试代码前,您必须先将您的代码添加到函数中。
函数目录下的default路径默认包含一个示例代码文件(edge.js)。edge.js包含helloworld示例代码,如下图所示。在调试代码前,您需要将edge.js的内容替换为您的代码。
图片

说明

本文使用默认的helloworld示例代码演示相关操作。

登录远程调试服务器 - debugger

使用nest debugger命令登录远程调试服务器。

用法

  1. 进入函数所在目录。

    cd fc-demo
    
  2. 对函数代码进行打包。

    nest build
    
  3. 登录远程调试服务器。

    nest debugger
    

成功登录远程调试服务器后,您将进入调试模式(sparrow_tob_nest)。

示例

图片

调试命令列表

成功登录远程调试服务器后,您可以在调试模式(sparrow_tob_nest)下执行调试命令。下表罗列了nest支持的所有调试命令。

调试命令

缩写

常用方式

说明

source

s

s
s default
s ms1

上传单个脚本代码。
默认上传主脚本default。如需上传其他脚本,您必须指定脚本的名称。

sourceBatch

slist

slist
slist default ms1
slist default ms1 ms2

上传多个脚本代码。
默认上传config.json包含的所有脚本。如需上传部分脚本,您必须指定脚本的名称。上传的脚本必须包含主脚本default

query

q

q http://example.com

触发远程代码执行。

cpuProfiler

cp

cp

打开/关闭CPUProfiler功能。
CPUProfiler通过Profiler生成火焰图来分析函数响应性能,帮助您发现最消耗CPU的代码片段。

preview

p

p http://example.com

预览服务。

server

srv

srv

生成本地代理服务,即监听一个本地端口,访问该端口的请求会被代理到远程调试服务器。

lastResponse

lr

lr body
lr header
lr status
lr statusText

查看最近一次响应的内容。

insight

ist

ist
ist true
ist false

打开/关闭Insight功能。
Insight允许您查看最近一次请求所产生的代码执行信息。

version

v

v

查看调试服务的版本。

exit

exit

退出调试模式。

上传代码 - source/sourceBatch

在调试模式下,使用sourcesourceBatch命令上传函数本地代码到远程调试服务器。

前提

确保您的代码已存放在函数目录下,并且您已经执行过build命令。
您可以参考default脚本的配置,在函数目录下添加其他服务的脚本。如下图所示。
图片

用法

执行以下命令,将函数目录下的代码文件上传到远程调试服务器。

# 完整命令
## 上传default目录下的代码
source
source default
## 上传ms目录下的代码
## ms表示和default平级的其他服务目录。您必须先创建服务目录,然后才能上传服务
source ms

## 上传多个服务(default和ms目录下的代码)
sourceBatch default ms

# 缩写命令
s
s ms
slist default ms

示例

图片

触发远程代码执行 - query

在调试模式下,使用query命令模拟HTTP请求。模拟的请求将发送到调试服务器,并触发您上传的代码的执行。您可以模拟GET、POST请求。模拟POST请求时,您可以自定义请求的数据和请求头。

前提

您的代码已经上传到远程调试服务器。

用法

执行以下命令,模拟GET、POST请求触发函数的运行。

# 完整命令
## 模拟GET请求
query <http_url>
## 模拟POST请求
query -X POST -D "<data>" -H "<header: value>" <http_url>
## 使用自定义event
query -X POST -E "<event>" <http_url>

# 缩写命令
## 模拟GET请求
q <http_url>
## 模拟POST请求
q -X POST -D "<data>" -H "<header: value>" <http_url>
## 使用自定义event
q -X POST -E "<event>" <http_url>

参数

是否必填

说明

<http_url>

您可以指定任意URL作为请求的地址(即远程调试服务器上的资源)。

-X

您可以添加-X POST来模拟POST请求。

-D

模拟POST请求时,您可以添加-D "<data>"来指定请求体。<data>表示请求体的内容。

-H

模拟POST请求时,您可以添加-H "<header: value>"来指定请求头。<header: value>表示请求头的键值对。

-E

模拟POST请求时,您可以添加-E "<event>"来指定自定义event。

返回结果

返回结果支持以下运行时信息:

  • console.log日志
    默认代码不包含console.log日志。如果需要查询console.log日志,可以通过console.log()进行打印。

  • HTTP响应
    在调试环境中,CPU时间默认是每次请求200毫秒,并且调试环境无法JIT ,因此性能和生产环境有较大差异。如果代码运行导致CPU或者内存超用,HTTP请求不会返回结果。

  • Insight日志
    日志内容包含了本次测试请求的数据分析,具体包含以下字段。

    名称

    说明

    RealTime

    请求的响应时间,单位是毫秒。

    SetupTime

    初始化时间,单位是毫秒。

    QueueTime

    等待时间,单位是毫秒。

    SourceTime

    请求代码时间,单位是毫秒。

    CPUTime

    CPU使用时间,单位是微秒。

    GcTime

    运行时GC时间,单位是毫秒。

    CreateTs

    初始化时间戳,单位是毫秒。

    ResponseTime

    整个回复发送完毕的时间,单位是毫秒。

    ExecuteTime

    用户事件回调函数执行时间,单位是毫秒。

    JoinTime

    运行时用于等待背景Promise结束的时间,单位是毫秒。

    WaitPromiseNumber

    该次上下文背景Promise的个数。

    Event

    触发事件名称。

    InMethod

    触发HTTP请求的方法,如GET、POST。

    InAuthority

    触发的Host头。

    OutStatus

    回复状态码。

    FetchRedirectLcationError

    请求因为跟随3xx,无法解析location头导致的错误数。

    Fetch5XX

    fetch请求结果中5xx响应码的数量。

    Fetch4XX

    fetch请求结果中4xx响应码的数量。

    Fetch3XX

    fetch请求结果中3xx响应码的数量。

    Fetch2XX

    fetch请求结果中2xx响应码的数量。

    FetchUnknown

    fetch请求结果中其他状态码的数量。

    FetchAttempt

    fetch请求尝试次数。

    FetchHttpAttempt

    fetch http请求次数。

    FetchHttpsAttempt

    fetch https请求次数。

    FetchError

    fetch请求出错次数。

    FetchRedirectRequest

    fetch被3xx跟随的次数。

    TcpBandwitdhIn

    fetch请求的TCP的入字节数。

    TcpBandwidthOut

    fetch请求的TCP的出字节数。

    TcpSSLBandwitdhIn

    fetch请求的SSL TCP的字节数。

    TcpSSLBandwidthOut

    fetch请求的SSL TCP的字节数。

示例

图片

查看上一次请求的结果 - lastResponse

在调试模式下,使用lastResponse命令查询上一次HTTP请求的结果,例如body、header、状态码。

用法

# 完整命令
## 查询上一次请求的请求体
lastResponse body
## 查询上一次请求的请求头
lastResponse header
## 查询上一次请求的状态码
lastResponse status

# 缩写命令
## 查询上一次请求的请求体
lr body
## 查询上一次请求的请求头
lr header
## 查询上一次请求的状态码
lr status

示例

图片

开启/关闭CPUProfiler - cpuProfiler

在调试模式下,使用cpuProfiler命令开启或关闭CPUProfiler功能。
CPUProfiler开启后,系统会监控不同模块的CPU消耗。您需要多次使用query命令进行测试,然后再关闭CPUProfiler。这时,系统会为您打印报告,帮助您定位程序中的CPU热点。

用法

执行以下命令,开启或者关闭CPUProfiler功能。

# 完整命令
cpuProfiler

# 缩写命令
cp

关闭CPU热点分析后,您会获得CPUProfiler分析结果。分析结果包含以下字段。

字段

说明

FUNCTION

函数名称。如果是匿名函数,函数名称显示anonymous

HITCOUNT

表示采样占比,采样占比越高,表示代码的热点越大。
表格中的行按照HITCOUNT降序显示,表示代码从热门到不热门的排序。

LINE

代码所在行号。

COLUMN

代码所在列号。

SCRIPT

代码名称。一般为空。

CODE

具体的代码片段。如果代码片段为空(例如运行时),则显示runtime

示例

  • 启动CPU热点分析
    图片
  • 关闭CPU热点分析
    图片

预览 - preview

在调试模式下,使用preview命令打开本地浏览器,查看代码的预览效果。

用法

preview http://example.com

示例

  • 预览命令
    图片
  • 浏览器上的渲染结果
    图片

生成本地代理服务 - server

在调试模式下,使用server命令生成一个本地代理服务。本地代理服务监听本地的随机端口。访问该端口的请求将被代理到远程调试服务器。

用法

  1. 执行以下命令,生成本地代理服务。

    server
    

    系统将返回一个随机端口。

  2. 重新打开一个终端窗口,使用curl命令访问本地代理服务。

    curl 'http://localhost:<port>' -v
    

示例

  • 生成本地代理服务,返回的服务端口是61173
    图片
  • 访问本地代理服务
    图片

开启/关闭Insight - insight

在调试模式下,使用insight命令开启或关闭Insight功能。Insight允许您查看最近一次请求所产生的代码执行信息。

用法

# 完整命令
## 开启Insight
insight
insight true
## 关闭Insight
insight false

# 缩写命令
## 开启监控
ist
ist true
## 关闭监控
ist false

示例

图片

发布函数

在函数目录下执行发布命令,即可将代码发布至运行时(边缘函数在创建后,必须先发布才能访问)。发布时,nest会先将本地的代码保存到云端再执行发布。

执行全量发布 - publish

使用publish命令执行全量发布。全量发布会将当前最新代码发布至所有节点上。

用法

  1. 对代码进行打包。

    nest build
    
  2. 执行全量发布。

    nest publish -d "description"
    

参数

缩写

是否必填

说明

--desc

-d

对本次发布的描述

示例

图片

执行灰度发布 - canary

使用publish canary命令执行灰度发布。执行灰度发布会将代码发布到灰度节点。

说明

您可以使用clusters setc命令将指定节点设置为灰度节点。

用法

  1. 对代码进行打包。

    nest build
    
  2. 执行灰度发布。

    nest publish canary -d "description"
    

    参数

    缩写

    是否必填

    说明

    --desc

    -d

    对本次发布的描述

示例

图片

管理环境变量

查看环境变量 - envs

使用nest envs命令查看所有的环境变量。

用法

nest envs

示例

图片

添加环境变量 - envs add

使用nest envs add命令添加一个环境变量。

用法

nest envs add -key "key" -v "value"

参数

缩写

是否必填

说明

--key

-k

要添加的环境变量的key。

注意

如果添加的key已经存在,则本次命令中指定的value会覆盖原来的value。您可以使用这个方法来更新环境变量。

--value

-v

要添加的环境变量的value。

示例

图片

删除环境变量 - envs delete

使用nest envs delete命令删除指定的环境变量。

用法

nest envs delete -k "key"

参数

缩写

是否必填

说明

--key

-k

要删除的环境变量的key。

示例

图片

管理节点

查看节点 - clusters

使用clusters命令查看所有节点。

用法

nest clusters

示例

图片

设置节点为灰度节点 - clusters setc

使用clusters setc命令将指定节点设置为灰度节点。

用法

nest clusters setc -c ${cluster_name}

参数

缩写

是否必填

说明

--cluster

-c

要设置的节点的名称。

示例

图片

设置节点为正常节点 - clusters setn

使用clusters setn命令将指定节点设置为正常节点。
用法

nest clusters setn -c ${cluster_name}

参数

缩写

是否必填

说明

--cluster

-c

要设置的节点的名称。

示例

图片

查看历史发布记录 - tickets

使用tickets命令查看历史发布记录,包含发布时间、结果、发布人、发布类型等信息。

用法

nest tickets

参数

缩写

是否必填

说明

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

发布记录的排序方式。可选值:

  • desc(默认):按发布时间由近到远排序
  • asc:按发布时间由远到近排序

返回结果

参数

说明

CURRENT VERSION

当前版本

ORIGIN VERSION

原始版本

CREATE AT

发布时间

STATUS

发布状态。取值:
灰度发布

  • 待灰度
  • 灰度中
  • 灰度成功
  • 未知状态

全量发布

  • 待全量
  • 全量发布中
  • 发布成功
  • 未知状态

DESC

发布描述

CREATOR

发布人

TYPE

发布类型。取值:

  • 灰度
  • 全量

示例

图片

管理定时任务

说明

定时任务的最小执行时间粒度为分钟级别。

查看定时任务 - cron

使用cron命令查看定时任务。

用法

nest cron

参数

缩写

是否必填

说明

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

定时任务的排序方式。可选值:

  • desc(默认):按创建时间由近到远排序。
  • asc:按创建时间由远到近排序。

--display

-d

展示方式。可选值:

  • table(默认):以表格形式展示。
  • line:以行形式展示。

返回结果

参数

说明

JOB NAME

定时任务的名称。

CRON EXPRESSION

定时任务的表达式。

PARAMETER

定时任务的参数。

DESCRIPTION

定时任务的描述。

JOB STATE

定时任务的状态。取值:未调度、调度中、禁用中。

CRON TYPE

调度的类型。取值:

  • 单点调度:随机选择一个节点触发函数。
  • 全局调度:对全部节点都触发函数。

CREATE TIME

定时任务的创建时间。

UPDATE TIME

定时任务的更新时间。

示例

图片

查看调度记录 - task

使用cron task命令查看调度记录。

用法

nest cron task -j {$job_name}

参数

缩写

是否必填

说明

--jobName

-j

定时任务的名称。

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

调度记录的排序方式。可选值:

  • desc(默认):按创建时间由近到远排序。
  • asc:按创建时间由远到近排序。

--display

-d

展示方式。可选值:

  • table(默认):以表格展示。
  • line:以行形式展示。

返回结果

参数

说明

JOB NAME

定时任务名称。

CRON EXPRESSION

定时任务的表达式。

PARAMETER

定时任务的参数。

CRON TASK STATUS

本次调度记录的状态。取值:未调度、调度成功、调度失败。

UUID

调度记录的唯一标识。

CREATE TIME

调度记录的创建时间。

UPDATE TIME

调度记录状态的更新时间。

示例

图片

查看日志记录 - log

使用cron log命令查看日志记录。

用法

nest cron log -j {$job_name} -u {$uuid}

参数

缩写

是否必填

说明

--jobName

-j

定时任务的名称。

--uuid

-u

调度记录的唯一标识。
您可以使用nest cron task命令查询调度记录的UUID。

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

分页中的排序方式。可选值:

  • desc(默认):按创建时间由近到远排序。
  • asc:按创建时间由远到近排序。

--display

-d

展示方式。可选值:

  • table(默认):以表格展示。
  • line:以行形式展示。

返回结果

返回的日志记录包含以下字段。

参数

说明

JOB NAME

定时任务的名称。

UUID

调度记录的唯一标识。

CLUSTER NAME

节点的名称。

SCHEDULER STATE

本次调度记录的状态。取值:未调度、调度成功、调度失败。

RESPONSE MSG

响应消息。

CREATE TIME

调度记录的创建时间。

UPDATE TIME

调度记录状态的更新时间。

示例

图片

创建定时任务 - cron create

使用cron create命令创建一个定时任务。

用法

  1. 进入函数所在目录。

    cd fc-demo
    
  2. 执行以下命令,开始创建定时任务。

    nest cron create
    
  3. 设置一个任务名称(jobName)。

  4. 设置定时任务的表达式(cronExpression)。

    说明

    您可以使用crontab guru工具生成cron表达式。

  5. 设置类型(cronType)。可选项:single(表示单点调度)、global(表示全局调度)。

  6. 设置执行参数(parameter)。大小不超过 512 字符。

  7. 设置描述(description)。

定时任务示例代码

定时任务创建完成后,您还必须在函数脚本中添加注册Cron事件的代码并进行发布。示例代码如下。

/**
 * Add the necessary event listener
 * @param {Event} fetch event, {Function} async function
 */
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
})

addEventListener('cron', onCron);

async function onCron(event) {
  return 'hello world';
}

/**
 * Make a response to client
 * @param {Request} request
 */
async function handleRequest(request) {
  return new Response('Hello World!', { status: 200 });
}

示例

图片

更新定时任务 - cron update

使用cron update命令更新一个定时任务。

用法

nest cron update -j {$job_name}

参数

缩写

是否必填

说明

--jobName

-j

要更新的定时任务的名称。

示例

图片

启用定时任务 - cron start

使用cron start命令启用指定的定时任务。
定时任务创建后默认处于关闭状态,您必须手动启用定时任务,才能使任务生效。

用法

nest cron start -j {$job_name}

参数

缩写

是否必填

说明

--jobName

-j

要启用的定时任务的名称。

示例

图片

禁用定时任务 - cron stop

使用cron stop命令禁用指定的定时任务。

用法

nest cron stop -j {$job_name}

参数

缩写

是否必填

说明

--jobName

-j

要禁用的定时任务的名称。

示例

图片

删除定时任务 - cron delete

使用cron delete命令删除指定的定时任务。

用法

nest cron delete -j {$job_name}

名称

缩写

是否必选

说明

--jobName

-j

要删除的定时任务的名称。

说明

您可以使用cron命令查询定时任务的名称。

示例

图片

管理域名

查看边缘函数域名 - domain

使用nest domain命令查看边缘函数域名。边缘函数域名表示您在边缘函数中添加的域名。

用法

nest domain

参数

缩写

是否必填

说明

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

分页中的排序方式。可选值:

  • desc(默认):按创建时间由近到远排序。
  • asc:按创建时间由远到近排序。

返回结果

返回的域名列表包含以下字段。

参数

说明

域名

域名。

状态

域名的状态。取值:

  • 待验证:您还没有完成域名归属权验证。请根据边缘函数控制台的提示完成域名归属权验证。
  • 运行中:域名已启用。用户访问域名的请求会被转发到边缘节点。
  • 已停止:域名已被停用。用户访问域名的请求会被拦截。
  • 配置中:域名的配置在修改中。

CNAME

边缘函数为该域名分配的CNAME。

CNAME状态

对应的CNAME解析记录的配置状态。取值:

  • 已配置:您已经为域名添加了要求的CNAME解析记录。
  • 待配置:您还没有为域名添加要求的CNAME解析记录。

HTTPS配置

域名是否启用了HTTPS。取值:

  • 已配置:您已经为域名配置了SSL证书。
  • 未配置:您还没有为域名配置SSL证书。

创建时间

域名的创建时间。

更新时间

域名的最近一次修改时间。

示例

图片

查看CDN域名 - cdn

使用nest domain cdn命令查询函数可以关联的CDN域名列表。

前提

您的火山引擎账号已经开通了CDN并且完成跨服务访问授权。具体操作,请参见关联CDN域名

用法

nest domain cdn

参数

缩写

是否必填

说明

--page

-p

分页中的页码。默认返回第一页的结果。

--limit

-l

分页中每页的大小。默认每页包含20个结果。

--order

-o

分页中的排序方式。可选值:

  • desc(默认):按创建时间由近到远排序。
  • asc:按创建时间由远到近排序。

返回结果

返回的CDN域名列表包含以下字段。

参数

说明

域名

域名。

状态

域名的状态。取值:

  • 可绑定:您可以将函数绑定到该CDN域名。
  • 已绑定或者不可绑定:您不可以将函数绑定到该CDN域名。

示例

图片

添加边缘函数域名 - add

使用nest domain add命令在边缘函数中添加一个域名。

用法

  1. 执行以下命令,开始添加域名。

    nest domain add
    
  2. 输入域名(domain)。

注意

首次添加新的域名时,您还必须根据边缘函数控制台的提示完成域名归属权验证,然后才能启用该域名。例如,首次添加 www.example.com 时您需要完成 example.com 域名的所有权验证;后续您再添加其他相关的子域名(如 fc.example.com)时,不再需要完成域名所有权验证。

示例

图片

删除边缘函数域名 - delete

使用nest domain delete命令删除指定的边缘函数域名。

前提

只有当域名的状态不是“配置中”时,域名才可以被删除。

用法

nest domain delete

示例

图片

启用边缘函数域名 - start

使用nest domian start命令启用边缘函数域名。

前提

  • 只有处于“已停止”状态的域名才能启用。
    • 您可以使用nest domain命令查看域名的“状态”。
    • 如果域名的“状态”是“未验证”,您可以前往边缘函数控制台,按照要求完成域名所有权验证。当您完成域名所有权验证后,域名将自动启用(即用户可以访问域名)。
  • 您已经为域名配置了CNAME解析记录。

用法

  1. 执行以下命令,开始启用域名。

    nest domain start
    
  2. 输入要启用的域名。
    域名启用后,域名的状态将变为“运行中”。

示例

图片

停用边缘函数域名 - stop

使用nest domain stop命令停用边缘函数域名。边缘函数域名被停用后,用户访问域名的请求会被拦截。

前提

只有处于“运行中”状态的域名才能停用。

用法

  1. 执行以下命令,开始停用域名。

    nest domain stop
    
  2. 输入要停用的域名。
    域名停用后,域名的状态将变为“已停止”。

示例

图片

为函数绑定域名 - bind

使用nest domain bind命令为函数绑定一个域名。该命令也用于查询函数当前绑定的域名。

用法

绑定域名

  1. 执行以下命令,开始绑定域名。

    nest domain bind
    
  2. 输入要绑定的域名的类型(BindType)。可选项:

    • veef:绑定边缘函数域名。
    • CDN:绑定CDN域名。
  3. 输入要绑定的域名(domain)。

查看函数绑定的域名

nest domain bind -t veef
nest domain bind -t CDN

参数

缩写

是否必填

说明

--type

-t

域名的类型。可选项:

  • veef:边缘函数域名
  • CDN:CDN域名

示例

  • 绑定边缘函数域名
    图片
  • 绑定CDN域名
    图片

解绑域名 - unbind

使用nest domain unbind命令解绑对应类型的域名。

用法

  1. 执行以下命令,开始解绑域名。

    nest domain unbind
    
  2. 输入要解绑的域名的类型(BindType)。可选项:

    • veef:解绑边缘函数域名。
    • CDN:解绑CDN域名。
  3. 输入要解绑的域名(domain)。

示例

图片

为域名配置SSL证书 - https

使用nest domain https命令为边缘函数域名配置SSL证书。

前提

  • 为函数配置SSL证书前,您必须先在边缘函数控制台上传域名对应的SSL证书。
  • 您已经完成跨服务访问授权。具体操作,请参见启用HTTPS配置

用法

  1. 执行以下命令,开始配置SSL证书。

    nest domain https
    
  2. 输入要配置证书的域名(domain)。
    返回结果中罗列了当前域名能够配置的所有证书,包含证书名称和证书ID。

  3. 输入要配置的证书的ID(certificateId)。

  4. 输入要配置的证书的名称(certificateName)。

示例

图片

KV存储

查看存储空间 - kv

使用nest kv命令查看已有kv存储空间。该命令也可用于查询指定存储空间的key。

用法

  • 查看存储空间

    nest kv
    

    参数

    缩写

    是否必填

    说明

    --page

    -p

    分页中的页码。默认返回第一页的结果。

    --limit

    -l

    分页中每页的大小。默认每页包含20个结果。

    --order

    -o

    分页中的排序方式。可选值:

    • desc(默认):按创建时间由近到远排序。
    • asc:按创建时间由远到近排序。
  • 查看指定存储空间的key

    nest kv -n ${kv_namespace_name}
    

    参数

    缩写

    是否必填

    说明

    --namespace

    -n

    要查询的存储空间的名称。

    --page

    -p

    分页中的页码。默认返回第一页的结果。

    --limit

    -l

    分页中每页的大小。默认每页包含20个结果。

    --order

    -o

    分页中的排序方式。可选值:

    • desc(默认):按创建时间由近到远排序。
    • asc:按创建时间由远到近排序。

示例

图片

创建存储空间 - create

使用nest kv create命令创建一个新的KV存储空间。

用法

  1. 执行以下命令,开始创建存储空间。

    nest kv create
    
  2. 为存储空间设置一个名称。
    输入要求:只允许使用英文大小写字母、数字、下划线(_)和连字符(-)。长度为2~64个字符。

  3. 为存储空间设置描述。
    输入要求:长度不超过80个字符。

示例

图片

创建Key - create key

使用nest kv create key命令在指定存储空间下创建一个key。

用法

  1. 执行以下命令,开始创建key。

    nest kv create key
    
  2. 输入要使用的存储空间的名称(namespace name)。

  3. 设置key(key)。
    输入要求:只允许使用英文、数字、下划线(_)和连字符(-)。大小不超过512字节。

  4. 设置value(value)。
    输入要求:大小不超过5MB。

  5. 为当前key设置有效期(ttl)。允许输入正整数和0,单位:分钟。0 表示永久有效。

示例

图片

修改存储空间 - update

使用nest kv update命令修改存储空间的名称和描述。

用法

  1. 执行以下命令,开始修改存储空间。

    nest kv update
    
  2. 输入要修改的存储空间的名称(namespace name)。

  3. 为存储空间设置一个名称(namespace)。
    输入要求:只允许使用英文大小写字母、数字、下划线(_)和连字符(-)。长度为2~64个字符。

  4. 为存储空间设置描述(description)。
    输入要求:长度不超过80个字符。

示例

图片

修改Key - update key

使用nest kv update key命令修改指定key的value和有效期。

用法

  1. 执行以下命令,开始修改key。

    nest kv update key
    
  2. 输入key所属的存储空间(namespace name)。

  3. 输入要修改属性的key(key)。
    输入要求:只允许使用英文、数字、下划线(_)和连字符(-)。大小不超过512字节。

  4. 输入key的value(value)。
    输入要求:大小不超过5MB。

  5. 为当前key设置一个新的存活时间,单位:分钟。

示例

图片

删除存储空间 - delete

使用nest kv delete命令删除指定的存储空间。

用法

nest kv delete -n {$kv_namespace_name}

示例

图片

删除Key - delete key

使用nest kv delete key命令删除指定的key。

用法

  1. 执行以下命令,开始删除key。

    nest kv delete key
    
  2. 输入key所属的存储空间(namespace name)。

  3. 输入要删除的key(key)。

示例

图片

查询Key的Value - key

使用nest kv key命令查询指定key的value。

用法

  1. 执行以下命令,开始查询value。

    nest kv key
    
  2. 输入key所属的存储空间(namespace name)。

  3. 输入要查询的key(key)。

返回结果包含key的value。

示例

图片