华为云用户手册

  • 操作流程 开通 AOM 2.0并授权。 容器监控:在云容器引擎 CCE购买集群和节点后,自动安装ICAgent插件,将CCE集群指标上报到AOM,用户无需手动接入。 配置告警行动规则:通过创建告警行动规则关联 SMN 主题与消息模板,当CCE的指标数据满足对应的告警条件时,系统根据关联SMN主题与消息模板来发送告警通知。 配置告警:通过创建告警规则对CCE的指标设置告警阈值条件,当指标数据满足设置的告警阈值条件时产生告警。
  • Java函数接口定义 Java函数接口定义:作用域 返回参数 函数名(函数参数,Context参数) 作用域:提供给FunctionGraph调用的用户函数必须定义为public。 返回参数:用户定义,FunctionGraph负责转换为字符串,作为HTTP Response返回。对于返回参数对象类型,HTTP Response该类型的JSON字符串。 函数名:用户定义函数名称。 函数参数:用户定义参数,当前函数仅支持一个用户参数。对于复杂参数,建议定义为对象类型,以JSON字符串提供数据。FunctionGraph调用函数时,解析JSON为对象。 Context:runtime提供函数执行上下文,其接口定义在SDK接口说明。 Java函数的函数执行入口参数格式为:[包名].[类名].[执行函数名],请参考函数执行入口进行配置。
  • Java的initializer入口介绍 函数工作流 服务目前支持以下Java运行环境。 Java 8 (runtime = Java8) Java 11(runtime = Java11) Initializer格式为:[包名].[类名].[执行函数名] 示例:创建函数时指定的initializer为com.huawei.Demo.my_initializer,那么FunctionGraph会去加载com.huawei包,Demo类中定义的my_initializer函数。 在函数工作流服务中使用Java实现initializer接口,需要定义一个java函数作为initializer入口,以下为initializer的简单示例。 public void my_initializer(Context context) { RuntimeLogger log = context.getLogger(); log.log(String.format("ak:%s", context.getAccessKey())); } 函数名 my_initializer需要与实现initializer接口时的initializer字段相对应。 context参数 context参数中包含一些函数的运行时信息,例如:request id、临时AccessKey、function meta等。
  • Java函数接口定义 Java函数接口定义:作用域 返回参数 函数名(函数参数,Context参数) 作用域:提供给FunctionGraph调用的用户函数必须定义为public。 返回参数:用户定义,FunctionGraph负责转换为字符串,作为HTTP Response返回。对于返回参数对象类型,HTTP Response该类型的JSON字符串。 函数名:用户定义函数名称。 函数参数:用户定义参数,当前函数仅支持一个用户参数。对于复杂参数,建议定义为对象类型,以JSON字符串提供数据。FunctionGraph调用函数时,解析JSON为对象。 Context:runtime提供函数执行上下文,其接口定义在SDK接口说明。 Java函数的函数执行入口参数格式为:[包名].[类名].[执行函数名],请参考函数执行入口进行配置。
  • Java的initializer入口介绍 函数工作流服务目前支持以下Java运行环境。 Java 8 (runtime = Java8) Java 11(runtime = Java11) Initializer格式为:[包名].[类名].[执行函数名] 示例:创建函数时指定的initializer为com.huawei.Demo.my_initializer,那么FunctionGraph会去加载com.huawei包,Demo类中定义的my_initializer函数。 在函数工作流服务中使用Java实现initializer接口,需要定义一个java函数作为initializer入口,以下为initializer的简单示例。 public void my_initializer(Context context) { RuntimeLogger log = context.getLogger(); log.log(String.format("ak:%s", context.getAccessKey())); } 函数名 my_initializer需要与实现initializer接口时的initializer字段相对应。 context参数 context参数中包含一些函数的运行时信息,例如:request id、临时AccessKey、function meta等。
  • 示例 metadata: description: This is an example application for FunctionGraph. author: Serverless team homePageUrl: https://www.huaweicloud.com/product/functiongraph.html version: 1.0.0 components: - name: helloworld type: Huawei::FunctionGraph::Function properties: region: cn-east-4 codeUri: https://test-wkx.obs.cn-north-4.myhuaweicloud.com/helloworld.zip projectID: 0531e14952000f742f3ec0088c4b25cf handler: index.handler runtime: Python3.9 memorySize: 256 timeout: 60 userData: key1: value1 key2: value2 encryptedUserData: '{"nonce": "ZEUOREFaiahRbMz+K9xQwA==", "header": "aGVhZGVy", "ciphertext": "SCxXsffvpU1BF2Ci8a2RedNQ", "tag": "a+EYRVPOsQ+YpQkMuFg1wA=="}' initializerTimeout: 30 initializerHandler: index.init_handler strategyConfig: concurrency: 80 concurrentNum: 20
  • 详解 函数配置在cam.yaml的properties属性下,当前支持的函数配置详解如下: 参数 是否必须 是否更新 描述 region 是 否 调用函数所在region。 codeUri 是 否 函数代码地址。该值为函数代码包在OBS上的地址。 projectID 是 否 租户Project ID。 handler 是 是 函数执行入口。 runtime 是 否 FunctionGraph函数的执行环境支持Node.js6.10、Python2.7、Python3.6、PHP7.3、Java8、Node.js 8.10、C#.NET Core 2.0、C#.NET Core 2.1。 Python2.7: Python语言2.7版本。 Python3.6: Python语言3.6版本。 PHP7.3: Php语言7.3版本。 Java8: Java语言8版本。 Node.js6.10: Nodejs语言6.10版本。 Node.js8.10: Nodejs语言8.10版本。 C#(.NET Core 2.0): C#语言2.0版本。 C#(.NET Core 2.1): C#语言2.1版本。 C#(.NET Core 3.1): C#语言3.1版本。 Custom: 自定义运行时。 memorySize 是 是 函数内存,单位M。 枚举值: 128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096 timeout 是 是 函数运行超时时间,单位秒,范围3~900秒。 userData 否 是 用户自定义的name/value信息,在函数中使用的参数。 encryptedUserData 否 是 用户自定义的name/value信息,用于需要加密的配置。 initializerTimeout 否 是 初始化超时时间,超时函数将被强行停止,范围1~300秒。 initializerHandler 否 是 函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 concurrentNum 否 是 函数单实例并发数。 concurrency 否 是 单函数最大实例数,0禁用函数,-1无限制,例100,该函数最大实例数100(普通实例+预留实例)。 当前cam.yaml不支持VPC、委托、磁盘挂载和动态内存配置的更新,如果函数需要使用VPC、委托或者磁盘挂载和动态内存请在函数界面手动配置,在使用函数更新流水线时会保留VPC、委托、磁盘挂载和动态内存配置,不会覆盖掉。 为了避免在cam.yaml中明文显示函数的加密配置-encryptedUserData,该CICD使用了AES对称加密的GCM模式对encryptedUserData明文内容进行加密,加密输出配置为cam.yaml中encryptedUserData项对应的值。在functions仓库和“函数更新流水线”中encryptedUserData的值以密文传输,在最后部署更新函数时解密更新,所以在执行“函数更新流水线”时需提供AES加密时使用的Key。示例如下: encryptedUserData明文: '{"password":"123"}' 使用AES-GCM加密后: {"nonce": "ZEUOREFaiahRbMz+K9xQwA==", "header": "aGVhZGVy", "ciphertext": "SCxXsffvpU1BF2Ci8a2RedNQ", "tag": "a+EYRVPOsQ+YpQkMuFg1wA=="},其中ciphertext为加密后的密文。
  • 安装KooCLI命令行工具 安装KooCLI命令行工具 远程登录购买的 ECS云服务器 ,执行如下命令安装KooCLI: curl -sSL https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh 图2 安装命令行工具 初始化KooCLI命令行工具 使用如下命令初始化KooCLI命令行工具: hcloud configure init 需要输入Access Key ID、Secret Access key和Region Name,获取方法请参见3、4。 图3 初始化KooCLI命令行工具 获取访问密钥(Access Key ID和Secret Access key) 如果您有登录密码,可以登录控制台,可以在我的凭证中获取自己的访问密钥AK/SK。请参见:新增访问密钥。可以下载得到AK/SK文件,文件名一般为:credentials.csv。如下图所示,文件包含了用户名称(User Name),AK(Access Key Id),SK(Secret Access Key)。 图4 credentials.csv文件内容 如果您没有登录密码,不能登录控制台,在访问密钥异常丢失或者需要重置时,可以请账号管理员在 IAM 中生成您的访问密钥,并发送给您。请参见:管理IAM用户访问密钥。 获取Region Name 请参见:地区和终端节点。 图5 获取区域
  • HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。 以下是一个例子: # serverless.yml functions: hello: handler: index.hello events: - apigw: env_id: DEFAULT_ENVIRONMENT_RELEASE_ID env_name: RELEASE req_method: GET path: /test name: API_test 请参考有关函数执行入口的文档,了解用于此类事件的入口函数签名。
  • 示例 简单的函数调用 serverless invoke --function functionName 本示例将调用部署的函数,并在终端中输出调用的结果。 带数据的函数调用 serverless invoke --function functionName --data '{"name": "Bob"}' 此示例将使用提供的数据调用函数,并在终端中输出调用的结果。 带传递数据的函数调用 serverless invoke --function functionName --path lib/event.json 此示例将在调用指定/部署的函数时传递lib/event.json文件(相对于服务的根目录的相对路径)中的JSON数据。 event.json示例: { "key": "value" }
  • 示例 从GitHub URL安装服务 serverless install --url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs 本示例将从GitHub下载huawei-nodejs服务的.zip文件,在当前工作目录下创建一个名为huawei-nodejs的新目录,并将文件解压到该目录下。 使用新服务名称从GitHub URL安装服务 serverless install --url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs--name my-huawei-service 此示例执行过程如下: 从GitHub下载huawei-nodejs服务的.zip文件。 在当前工作目录中创建名为my-huawei-service的新目录。 在此目录中解压文件。 如果根服务中存在serverless.yml,则将服务重命名为my-huawei-service。 从GitHub URL中的目录安装服务 serverless install --url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs 本示例将从GitHub下载huawei-nodejs服务。
  • 示例 创建新服务 serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --name my-special-service 此示例将为服务生成Node.js运行时。华为作为提供商,该运行时将在当前工作目录中生成。 在(新)目录中创建指定名称的服务 serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --path my-new-service 此示例将为服务生成Node.js运行时。华为作为提供商,该运行时将在my-new-service目录中生成;如不存在该目录,则会自动生成。在其他情况下Serverless将使用已经存在的目录。 此外,Serverless将根据您提供的路径将服务重命名。在此示例中,服务将重命名为my-new-service。
  • 从环境变量中引用变量 要引用环境变量中的变量,请在serverless.yml中使用${env:someProperty}语法,如下: service: new-service provider: name: huawei runtime: Node.js14.18 credentials: ~/.fg/credentials # path must be absolute environment: variables: ENV_FIRST: ${env:TENCENTCLOUD_APPID} plugins: - serverless-huawei-functions functions: hello: handler: index.hello
  • 打包配置 有时,您可能希望对函数产物以及它们的打包方式有更多的控制。 您可以使用patterns配置来更多地控制打包过程。 Patterns 您可以定义将从结果产物中排除/包括的全局模式。如果您希望排除文件,可以使用前缀为“!”的全局模式,如:!exclude-me/**。Serverless Framework将运行全局模式,以便您始终可以重新包含以前排除的文件和目录。 示例 排除所有node_modules,然后专门使用exclude重新包含的特定模块(在本例中为node-fetch): package: patterns: - '!node_modules/**' - 'node_modules/node-fetch/**' 排除handler.js以外的所有文件: package: patterns: - '!src/**' - src/function/handler.js 如果要排除目录,请不要忘记使用正确的全局语法,可参考如下: package: patterns: - '!tmp/**' - '!.git/**'
  • 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。 # serverless.yml functions: first: # Function name handler: index.http # Reference to file index.js & exported function 'http' events: - apigw: env_id: DEFAULT_ENVIRONMENT_RELEASE_ID env_name: RELEASE req_method: GET path: /test name: API_test 目前,每个函数只支持一个事件定义。
  • 内存大小和超时 函数的memorySize和timeout可以在提供商或函数层面指定。提供商层面的定义允许所有函数共享此配置,而函数层面的定义意味着此配置仅对当前函数有效。 如果未指定,默认memorySize为256MB,timeout为30s。 # serverless.yml provider: memorySize: 512 timeout: 90 functions: first: handler: first second: handler: second memorySize: 256 timeout: 60
  • 配置 您的Serverless服务中有关华为云函数工作流的所有内容都可以在functions属性下的serverless.yml中找到。 # serverless.yml service: fg-service provider: name: huawei plugins: - serverless-huawei-functions functions: first: handler: index.handler
  • 执行入口签名 事件执行入口的签名如下: function (event, context) { } event 如果函数由指定的APIG事件触发,则传递给执行入口的event如下: // JSON.parse(event) { events: { "body": "", "requestContext": { "apiId": "xxx", "requestId": "xxx", "stage": "RELEASE" }, "queryStringParameters": { "responseType": "html" }, "httpMethod": "GET", "pathParameters": {}, "headers": { "accept-language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "accept-encoding": "gzip, deflate, br", "x-forwarded-port": "443", "x-forwarded-for": "xxx", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "upgrade-insecure-requests": "1", "host": "xxx", "x-forwarded-proto": "https", "pragma": "no-cache", "cache-control": "no-cache", "x-real-ip": "xxx", "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" }, "path": "/apig-event-template", "isBase64Encoded": true } } context context参数包含有关函数的运行时信息。例如:请求ID、临时AK、函数元数据。具体详情请参见开发事件函数。
  • 创建 使用create命令创建服务。您可以输入路径创建目录并将服务自动命名: # Create service with Node.js template in the folder ./my-service serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --path my-service huawei-nodejs是华为云函数工作流的可用运行时。 有关所有详细信息和选项,请查看创建。
  • 组织 在最初使用应用时,建议您可以使用单个服务来定义该项目的所有函数和事件。 myService/ serverless.yml # Contains all functions and infrastructure resources 但是,随着应用增多,您可以将其拆分为多个服务。大多数用户按工作流或数据模型组织他们的服务,并在服务中将与这些工作流和数据模型相关的函数进行分组。 users/ serverless.yml # Contains 4 functions that do Users CRUD operations and the Users database posts/ serverless.yml # Contains 4 functions that do Posts CRUD operations and the Posts database comments/ serverless.yml # Contains 4 functions that do Comments CRUD operations and the Comments database 这是有意义的,因为相关函数通常使用公共基础设施资源,并且用户希望将这些函数和资源作为单个部署单元放在一起,以便更好地组织和分离关注点。
  • 在现有服务中安装Serverless 如果您已经有Serverless服务,并且更愿意使用package.json锁定框架版本,那么您可以按以下方式安装Serverless: # from within a service npm install serverless --save-dev 本地调用Serverless 要执行本地安装的Serverless,您必须引用node_ modules目录中的二进制文件,示例如下: node ./node_modules/serverless/bin/serverless deploy
  • 安装Serverless Framework 通过npm安装Serverless Framework,它在安装Node.js时已经安装。 打开终端,输入npm install -g serverless安装Serverless。 npm install -g serverless 安装完成后,可以通过在终端中运行以下命令来验证Serverless是否安装成功。 serverless 查看安装的Serverless版本,请运行: serverless --version
  • 创建并部署serverless服务 当前您已经完成了设置,可以开始创建和部署serverless服务。 创建新服务。 使用huawei-nodejs模板创建新服务。 serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --path my-service 安装依赖项。 cd my-service npm install 设置凭证,详情请参考凭证设置。 更新serverless.yml。 更新项目serverless.yml中的region和credentials。 部署。 使用如下命令的场景为首次部署服务,以及在更改serverless.yml中的函数、事件或资源之后,希望同时部署服务中的所有更改。该命令详情请参考Deploy命令。 serverless deploy
  • 服务 服务是Framework的组织单位。您可以将其视为项目文件,单个应用可以拥有多个服务。可以在服务中定义函数、触发它们的事件以及函数使用的资源,所有这些都在一个名为serverless.yml(或serverless.json)的文件中,例如: # serverless.yml service: fgs functions: # Your "Functions" hello_world: events: # The "Events" that trigger this function - apigw: env_id: DEFAULT_ENVIRONMENT_RELEASE_ID env_name: RELEASE req_method: GET path: /test name: API_test 通过运行serverless deploy使用Framework进行部署时,serverless.yml中的所有内容都会同时部署。
  • Serverless Devs 全局参数 表1 Serverless Devs全局参数介绍 参数全称 参数缩写 默认取值 参数含义 备注 template t s.yaml/s.yml 指定资源描述文件 - access a yaml中所指定的access信息/default 指定本次部署时的密钥信息 可以使用通过config命令配置的密钥信息,以及配置到环境变量的密钥信息 skip-actions - - 跳过yaml所设置的actions模块 - debug - - 开启Debug模式 开启Debug模式后可以查看到更多的工具执行过程信息 output o default 指定数据的输出格式 支持default, json, yaml, raw格式 version v - 查看版本信息 - help h - 查看帮助信息 - 父主题: Serverless Devs
  • Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下: edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 name: fg-test # 项目名称 access: "default" # 秘钥别名 vars: # 全局变量 region: "cn-east-3" functionName: "start-fg-event-nodejs14" services: component-test: # 服务名称 component: fgs # 组件名称 props: region: ${vars.region} function: functionName: ${vars.functionName} # 函数名 handler: index.handler # 函数执行入口 memorySize: 256 # 函数消耗的内存 timeout: 30 # 函数执行超时时间 runtime: Node.js14.18 # 运行时 agencyName: fgs-vpc-test # 委托名称 environmentVariables: # 环境变量 test: test hello: world vpcId: xxx-xxx # 虚拟私有云唯一标识 subnetId: xxx-xxx # 子网编号 concurrency: 10 # 单函数最大实例数 concurrentNum: 10 # 单实例最大并发数 codeType: zip # 函数代码类型 dependVersionList: # 依赖包,取依赖包的ID - xxx-xxx code: # 本地代码地址 codeUri: ./code trigger: triggerTypeCode: TIMER # 触发器类型 status: DISABLED # 触发器状态 eventData: # 触发器配置 name: APIG_test # API名称 groupName: APIGroup_xxx # 分组名称 auth: IAM # 安全认证 protocol: HTTPS # 请求协议 timeout: 5000 # 后端超时时间
  • Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下: edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 name: fg-test # 项目名称 access: "default" # 秘钥别名 vars: # 全局变量 region: "cn-east-3" functionName: "start-fg-event-nodejs14" services: component-test: # 服务名称 component: fgs # 组件名称 props: region: ${vars.region} function: functionName: ${vars.functionName} # 函数名 handler: index.handler # 函数执行入口 memorySize: 256 # 函数消耗的内存 timeout: 30 # 函数执行超时时间 runtime: Node.js14.18 # 运行时 agencyName: fgs-vpc-test # 委托名称 environmentVariables: # 环境变量 test: test hello: world vpcId: xxx-xxx # 虚拟私有云唯一标识 subnetId: xxx-xxx # 子网编号 concurrency: 10 # 单函数最大实例数 concurrentNum: 10 # 单实例最大并发数 codeType: zip # 函数代码类型 dependVersionList: # 依赖包,取依赖包的ID - xxx-xxx code: # 本地代码地址 codeUri: ./code trigger: triggerTypeCode: TIMER # 触发器类型 status: DISABLED # 触发器状态 eventData: # 触发器配置 name: APIG_test # API名称 groupName: APIGroup_xxx # 分组名称 auth: IAM # 安全认证 protocol: HTTPS # 请求协议 timeout: 5000 # 后端超时时间 表1 参数说明 参数 必填 类型 参数描述 region True Enum 地域 function True Struct 函数 triggers False Struct 触发器
  • triggers字段介绍 Yaml文件中triggers字段说明请参考表4。 表4 trigger参数说明 参数名 必填 类型 参数描述 triggerTypeCode True String 触发器类型。 status False Enum 触发器状态,取值为 ACTIVE、DISABLED,默认为 ACTIVE。 eventData True Struct 触发器配置,包括•APIG触发器, •TIMER触发器。 APIG触发器 表5 APIG参数说明 参数名 必填 类型 参数描述 name False String API名称,默认使用函数名。 groupName False String 分组,默认选择当前第一个。 auth False Enum 安全认证,默认为 IAM。 API认证方式: App: 采用Appkey&Appsecret认证,安全级别高,推荐使用,详情请参见APP认证。 IAM: IAM认证,只允许IAM用户能访问,安全级别中等,详情请参见IAM认证。 None: 无认证模式,所有用户均可访问。 protocol False Enum 请求协议,默认为 HTTPS。 分为两种类型: HTTP HTTPS timeout False Number 后端超时时间,单位为毫秒,取值范围为 1 ~ 60000。默认为 5000。 参考案例: trigger: triggerTypeCode: APIG status: ACTIVE eventData: name: APIG_test groupName: APIGroup_xxx auth: IAM protocol: HTTPS timeout: 5000 TIMER触发器 表6 TIMER参数说明 参数名 必填 类型 参数描述 name False String 定时器名称。 scheduleType True Enum 触发规则,取值为 Rate、Cron。 schedule True String 定时器规则内容。 userEvent False String 附加信息,如果用户配置了触发事件,会将该事件填写到TIMER事件源的“user_event”字段。 参考案例: trigger: triggerTypeCode: TIMER status: ACTIVE eventData: name: Timer-xxx scheduleType: Rate schedule: 3m userEvent: xxxx trigger: triggerTypeCode: TIMER status: ACTIVE eventData: name: Timer-xxx scheduleType: Cron schedule: 0 15 2 * * ? userEvent: xxxx
  • alias publish命令 alias publish命令,是对别名进行发布和更新的命令。 当执行命令alias publish -h/alias publish --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数。 表3 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义 region - 选填 必填 地区 function-name - 选填 必填 函数数名 alias-name - 必填 必填 别名 version-name - 选填 必填 别名对应的版本名称 description - 选填 选填 别名描述 gversion - 选填 选填 灰度版本 Id。灰度版本权重填写时必填 weight - 选填 选填 灰度版本权重。灰度版本 Id 填写时必填 操作案例: 有资源描述文件(Yaml)时,可以直接执行s alias publish进行别名的发布或者更新; 纯命令行形式(在没有资源描述Yaml文件时),需要指定服务所在地区以及服务名称,例如 s cli fgs alias publish --region cn-north-4 --function-name fg-test --alias-name pre --version-name 1 执行cli 模式时,如果密钥信息不是default,需要添加 access参数,例如s cli fgs alias publish --region cn-north-4 --function-name fg-test --alias-name pre --version-name 1 --access xxxx 上述命令的执行结果示例: fg-test: aliasName: pre versionId: 1 description: additionalVersionWeight: createdTime: 2021-11-08T06:51:36Z lastModifiedTime: 2021-11-08T06:51:36Z 如果需要对别名进行升级,只需要指定别名之后,进行相对应的参数更新,例如针对上述的pre别名,指定--description参数后再次执行上述命令,执行示例: fc-deploy-test: aliasName: pre versionId: 1 description: test publish version additionalVersionWeight: createdTime: 2021-11-08T06:51:36Z lastModifiedTime: 2021-11-08T06:54:02Z
  • alias list命令 alias list命令,是进列举别名列表的命令。 当执行命令alias list -h/alias list --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数。 表2 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义 region - 选填 必填 地区 function-name - 选填 必填 函数名称 table - 选填 选填 是否以表格形式输出 操作案例: 有资源描述文件(Yaml)时,可以直接执行s alias list获取别名列表; 纯命令行形式(在没有资源描述Yaml文件时),需要指定服务所在地区以及服务名称,例如s cli fgs alias list --region cn-north-4 --function-name fg-test 执行cli 模式时,如果密钥信息不是default,需要添加 access参数,例如s cli fgs alias list --region cn-north-4 --function-name fg-test --access xxxx 上述命令的执行结果示例: fg-test: - aliasName: pre versionId: 1 description: test publish version lastModifiedTime: 2021-11-08T06:54:02Z additionalVersionWeight: 如果指定了--table参数,如图1所示: 图1 输出示例
共100000条