华为云用户手册

  • URI GET /v5/{project_id}/enterprise-projects 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询, offset 大于等于 0。默认为0 缺省值:0 limit 否 Integer 每页显示的条目数量。默认为1000,取值范围【1-1000】 最小值:1 最大值:1000 缺省值:1000 name 否 String 企业项目名称,支持模糊搜索。 domain_id 否 String IAM用户所属账号ID。op_service权限必须携带此参数,非op_service权限可不携带此参数。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • 响应示例 状态码: 200 OK { "message" : "SUCCESS", "user_list" : [ { "id" : "admin.testuser2", "account" : "admin.testuser2", "comment" : "", "privileges" : null, "password" : null, "roles" : [ "admin.clusterAdmin" ], "selected" : null, "is_transfer" : true }, { "id" : "admin.test_inc_admin_mgo", "account" : "admin.test_inc_admin_mgo", "comment" : "", "privileges" : null, "password" : null, "roles" : [ "mgo.read", "admin.readAnyDatabase", "local.read" ], "selected" : null, "is_transfer" : true }, { "id" : "fastunit.test_full_fastunit_noread", "account" : "fastunit.test_full_fastunit_noread", "comment" : "", "privileges" : null, "password" : null, "roles" : [ "admin.readAnyDatabase" ], "selected" : null, "is_transfer" : true }, { "id" : "admin.test_full", "account" : "admin.test_full", "comment" : "", "privileges" : null, "password" : null, "roles" : [ "fastunit.read", "admin.readAnyDatabase" ], "selected" : null, "is_transfer" : true } ], "roles_list" : [ { "role" : "admin.roletest4", "comment" : "", "privileges" : "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* GRANT XA_RECOVER_ADMIN ON *.*", "selected" : null, "is_transfer" : true, "inherits_roles" : [ "admin.roletest1", "admin.roletest3", "fastunit.roletest1" ] } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 任务ID。 is_global_password String 是否使用全局密码。 message String 错误码。 user_list Array of objects 用户列表数据。 详情请参见表4。 roles_list Array of objects 角色列表数据。 详情请参见表5。 is_success Boolean 是否成功。 表4 user_list字段数据结构说明 参数 参数类型 描述 id String 用户账号ID。 account String 账号。 comment String 说明。 is_transfer Boolean 是否支持迁移。 privileges String 权限。 password String 密码。 roles Array of strings 拥有的角色 selected Boolean 是否选择。 no_privileges String 无法同步的用户权限。 parent_account String 父用户。 no_parent_account String 无法同步父子关系的父用户。 表5 roles_list字段数据结构说明 参数 参数类型 描述 role String 角色。 comment String 说明。 is_transfer Boolean 是否支持迁移。 privileges String 权限。 inherits_roles Array of strings 继承的角色。 selected Boolean 是否选择。
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 任务状态。 is_clone_job String 是否为克隆任务。 create_time String 任务创建时间。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 202 Accepted { "id": "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name": "DRS-1234", "status": "CREATING", "is_clone_job": true, "create_time": "2022-11-07T16:15:18Z" } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 克隆任务名称。名称在4位到50位之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符,任务名称不能重复。 job_id 是 String 被克隆任务ID。 task_version 否 String 任务版本号,新UX任务为2.0。默认为空,即克隆老任务。 枚举值: 2.0
  • 响应示例 状态码: 200 OK { "az_infos" : [ { "code" : "az1xahz", "name" : "az1xahz", "status" : "DISABLED" }, { "code" : "az2xahz", "name" : "az2", "status" : "ENABLED" }, { "code" : "az3xahz", "name" : "az3", "status" : "ENABLED" }, { "code" : "az4xahz", "name" : "az4", "status" : "ENABLED" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token X-Language 否 String 请求语言类型 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 engine_type 是 String DRS任务引擎类型。 详细取值可参考引擎类型说明。 db_use_type 是 String 迁移场景,migration-实时迁移,sync-实时同步,cloudDataGuard-实时灾备。 枚举值: migration sync cloudDataGuard job_direction 是 String 任务方向。 取值: up:入云 ,灾备场景时对应本云为备。 down:出云,灾备场景时对应本云为主。 non-dbs:自建。 node_type 是 String 规格类型。 multi_write 否 String 是否是双主灾备,不填默认为false。
  • 响应参数 状态码: 202 表6 响应Body参数 参数 参数类型 描述 all_counts Long 总数。 results Array of objects 批量对象选择响应列表。 详情请参见表7。 表7 results字段数据结构说明 参数 参数类型 描述 job_id String 任务ID。 status Boolean 选择对象任务成功标志。 error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 指定部分库、表对象进行迁移 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ { "id" : "fastunit", "parent_id" : null, "object_name" : "fastunit", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "fastunit-*-*-coll", "parent_id" : "fastunit", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1", "parent_id" : null, "object_name" : "ycy1", "object_type" : "database", "select" : "partial", "object_alias_name" : null }, { "id" : "ycy1-*-*-coll", "parent_id" : "ycy1", "object_name" : "coll", "object_type" : "table", "select" : "true", "object_alias_name" : null }, { "id" : "ycy1-*-*-collcount", "parent_id" : "ycy1", "object_name" : "collcount", "object_type" : "table", "select" : "true", "object_alias_name" : null } ], "job_id" : "57fd2692-0ebe-4714-9b59-fe7aa65djb15", "selected" : true } ] } 选择全部对象进行迁移 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-select-objects { "jobs" : [ { "job" : [ ], "job_id" : "e59f5eef-2bcc-4461-b9ac-10aded44jb15", "selected" : false } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of objects 批量更新数据库对象请求任务ID列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 job_id 是 String 任务ID。 selected 否 Boolean 是否进行对象选择,不填默认为否。 是:自定义迁移对象。 否:全部迁移。 sync_database 否 Boolean 是否库级同步。 job 否 Array of objects 数据对象选择信息,selected为true时必填。 详情请参见表5。 表5 job字段数据结构说明 参数 是否必选 参数类型 描述 id 否 String object_type为database时,为库名;object_type为table或者view时,字段值参考示例。 parent_id 否 String object_type为table或view时需要填写,为库名。 object_type 否 String 类型。取值: database table schema view object_name 否 String 数据库对象名称,库名、表名、视图名。 select 否 String 是否选中,值为true会进行迁移,false该数据库对象不会迁移,partial为迁移库下面的部分表,不填默认为false。 object_alias_name 否 String 别名,映射的新名称,仅支持同步任务使用。
  • 响应示例 状态码: 200 OK { "job_id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "position" : "mysql-bin.000277:805" } 状态码: 400 Bad Request { "error_code" : "DRS.10030014", "error_msg" : "Firstly, please the query object info." }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • URI GET /v5/{project_id}/jobs/{job_id}/db-position 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 query_id 是 String 位点信息采集的ID,由采集数据库位点信息接口返回的ID。
  • 常见编译问题 本章节收录了编译sdk或者sdk demo可能遇到的一些编译问题,对应版本的问题可能在其他旧版本中也出现,都可以参考一下 v3.23.3版本反映的常见问题: 问题1: 编译sdk的vs工程报错: 报错文件:目录${yourSDKPath}\platform\eSDK_LogAPI_V2.1.10\C\include下面的eSDKLogAPI.h、eSDKLogDataType.h这两个文件 vs编译器错误码:c2018 解决方案: 修改上述目录下的两个文件(eSDKLogAPI.h、eSDKLogDataType.h)的行尾序列为CRLF 问题2:sdk的vs工程编译成功后还需要手动拷贝lib、dll到demo工程目录下才能运行demo程序,不够方便 解决方案(以Debug,x64为例): 1、编译Debug,x64的obs.sln解决方案 2、打开obs_demo.sln解决方案,调整属性为Debug,x64,按图操作后,填入值: PATH=%PATH%;$(ProjectDir)..\..\eSDK_OBS_API_C++\build\vc100\Debug;$(ProjectDir)..\..\eSDK_OBS_API_C++\bin\win64_x64_msvc\release;$(ProjectDir)..\..\..\..\platform\eSDK_LogAPI_V2.1.10\C\release_x64;$(LocalDebuggerEnvironment) v3.22.7版本反映的Sdk本体常见编译问题 问题1: 解决方案:通过下面的脚本去编译securec组件,并将产物拷贝到对应目录 export Your_SDK_path='Your_SDK_path' cd ${Your_SDK_path}/platform/huaweisecurec/src/ make mkdir ${Your_SDK_path}/platform/huaweisecurec/lib/linux cp ${Your_SDK_path}/platform/huaweisecurec/lib/libsecurec.so ${Your_SDK_path}/platform/huaweisecurec/lib/linux cd ${Your_SDK_path}/source/eSDK_OBS_API/eSDK_OBS_API_C++ #需要先cd到目录下,因为脚本按相对路径查找依赖项 sh build.sh 问题2: 解决方案: 在source\eSDK_OBS_API\eSDK_OBS_API_C++\src\object\download_file.c 中删除26、27行(如下) pthread_mutex_t g_mutexThreadCheckpoint; pthread_mutex_t g_mutexThreadCheckpoint_download; 在source\eSDK_OBS_API\eSDK_OBS_API_C++\src\object\object_common.c 中删除31、32行(如下) pthread_mutex_t g_mutexThreadCheckpoint; pthread_mutex_t g_mutexThreadCheckpoint_download; 之后编译即可 问题3: 这个问题一般是在其他路径中执行build.sh导致的,需要先cd到对应目录下再执行,因为脚本按相对路径查找依赖项,执行如下脚本编译 export Your_SDK_path='Your_SDK_path' cd ${Your_SDK_path}/source/eSDK_OBS_API/eSDK_OBS_API_C++ sh build.sh v3.22.7版本反映的常见Sdk Demo编译问题 问题1: 需要拷贝一下cjson头文件以及相关库(如果是arm需要把路径中的linux替换为arm) 同时需要改一下Makefile export Your_SDK_path='Your_SDK_path' export Your_DEMO_path='Your_DEMO_path' cp ${Your_SDK_path}/build/script/Provider/build/linux/cjson-1.7.15/include/cJSON.h ${Your_DEMO_path}/include cp ${Your_SDK_path}/build/script/Provider/build/linux/cjson-1.7.15/lib/libcjson.so* ${Your_DEMO_path}/lib 打开${Your_DEMO_path}/demo/Makefile 将16行(LIB=-leSDKOBS -lsecurec)替换为LIB=-lcjson -leSDKOBS -lsecurec cd ${Your_DEMO_path}/demo make 父主题: 常见问题
  • OBS服务环境搭建 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。 注册云服务帐号 使用OBS之前必须要有一个云服务帐号。 打开浏览器。 登录公有云网站www.huaweicloud.com。 在页面右上角单击“注册”。 按需填写注册信息并单击“同意协议并注册”。 开通OBS服务 使用OBS服务之前必须先充值,才能正常使用OBS服务。 登录OBS管理控制台。 单击页面右上角的“费用”进入费用中心页面。 单击“充值”,系统自动跳转到充值窗口。 根据界面提示信息,对帐户进行充值。 充值成功后,关闭充值窗口,返回管理控制台首页。 单击“对象存储服务”,开通并进入OBS管理控制台。 创建访问密钥 OBS通过用户帐号中的AK和SK进行签名验证,确保通过授权的帐号才能访问指定的OBS资源。以下是对AK和SK的解释说明: AK:Access Key ID,接入键标识,用户在对象存储服务系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户。 SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。 访问密钥分永久访问密钥(AK/SK)和临时访问密钥(AK/SK和SecurityToken)两种。每个用户最多可创建两个有效的永久访问密钥。临时访问密钥只在设置的有效期内能够访问OBS,过期后需要重新获取。出于安全性考虑,建议您使用临时访问密钥访问OBS,或使用永久访问密钥访问OBS时,定期更新您的访问密钥(AK/SK)。两种密钥的获取方式如下。 永久访问密钥: 登录OBS控制台。 单击页面右上角的用户名,并选择“我的凭证”。 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。 在“访问密钥”页面,单击“新增访问密钥”。 在弹出的“新增访问密钥”对话框中,输入登录密码和对应验证码。 用户如果未绑定邮箱和手机,则只需输入登录密码。 用户如果同时绑定了邮箱和手机,可以选择其中一种方式进行验证。 单击“确定”。 在弹出的“下载确认”提示框中,单击“确定”后,密钥会直接保存到浏览器默认的下载文件夹中。 打开下载下来的“credentials.csv”文件既可获取到访问密钥(AK和SK)。 每个用户最多可创建两个有效的访问密钥。 为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。 临时访问密钥: 临时AK/SK和SecurityToken是系统颁发给用户的临时访问令牌,通过接口设置有效期,范围为15分钟至24小时,过期后需要重新获取。临时AK/SK和SecurityToken遵循权限最小化原则。使用临时AK/SK鉴权时,临时AK/SK和SecurityToken必须同时使用。 获取临时访问密钥的接口请参考获取临时AK/SK和securitytoken。 OBS属于全局级服务,所以在获取临时访问密钥时,需要设置Token的使用范围取值为domain,表示获取的Token可以作用于全局服务,全局服务不区分项目或者区域。 父主题: 快速入门
  • 兼容性 3.*.* 相对于 3.0.0兼容 3.*.* 不兼容 2.*.* 3.*.* 不兼容 1.*.* arm编译环境: NAME="EulerOS" VERSION="2.0 (SP8)" ID="euleros" ID_LIKE="rhel fedora centos" VERSION_ID="2.0" PRETTY_NAME="EulerOS 2.0 (SP8)" ANSI_COLOR="0;31" 内核版本: 4.19.36-vhulk1905.1.0.h276.eulerosv2r8.aarch64 gcc/g++版本: gcc (GCC) 10.3.0/g++ (GCC) 10.3.0 linux编译环境: NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" 内核版本: 3.10.0-957.5.1.el7.x86_64 gcc/g++版本: gcc (GCC) 10.3.0/g++ (GCC) 10.3.0 SDK二进制包编译环境如上,其余内核和操作系统的兼容性不做保证。如果有其它操作系统或者内核版本的需求,请使用开源代码自行编译。
  • SDK编译 获取到SDK源码后,根据使用平台来开展编译工作。 linux下: linux可以直接进入到source/eSDK_OBS_API/eSDK_OBS_API_C++/下执行下面的脚本来编译: export SPDLOG_VERSION=spdlog-1.9.2 bash build.sh sdk 具体参数可见脚本内注释,生成产物为一个包含了demo代码,include,和lib的demo包。 Windows下: 使用visual studio打开source/eSDK_OBS_API/eSDK_OBS_API_C++/sln/vc100/下的sln工程,生成obs项目,即可在输出目录(可在工程属性中查看)生成huaweisecurec.lib,huaweisecurec.dll,libeSDKOBS.lib和libeSDKOBS.dll。 详细步骤请参见Windows下编译C SDK MAC下: 参照compile_for_macos.txt 常见编译问题见:常见编译问题
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 check_table_name_result CheckTableNameResult object 检查结果。 表5 CheckTableNameResult 参数 参数类型 描述 database String 数据库名称。 restore_table_list Array of strings 恢复源表信息。 target_table_list Array of strings 恢复目的表信息。
  • 请求示例 POST https://{Endpoint}/v2/0536cdee2200d5912f7cc00b877980f1/snapshots/c719b1a7-c85c-4cb5-a721-7694908c2c11/table-restore-check { "case_sensitive" : true, "database" : "postgres", "restore_table_list" : [ { "schema_name" : "postgres", "table_name" : "public" } ], "target_table_list" : [ { "schema_name" : "postgres", "table_name" : "public" } ] }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 case_sensitive 是 Boolean 名称是否区分大小写。 database 是 String 数据库名称。 restore_table_list 是 Array of TableDetail objects 源表信息。 target_table_list 是 Array of TableDetail objects 目的表信息。 表3 TableDetail 参数 是否必选 参数类型 描述 schema_name 是 String schema名称。 table_name 是 String 表名称。
  • 修订记录 发布日期 修订记录 2023-11-02 第十次正式发布。 更新提交工单以及我的授权内容描述。 2022-03-08 第九次正式发布。 新增审计章节。 2022-02-09 第八次正式发布。 更新提交工单章节。 2021-03-23 第七次正式发布。 优化同组工单章节。 2020-05-13 第六次正式发布。 同组工单章节新增关联订单内容。 我的授权和同组授权章节新增授权类型说明。 2020-04-24 第五次正式发布。 我的工单章节新增标签内容。 2020-01-20 第四次正式发布。 配置工单提交权限章节内容优化。 2019-12-30 第三次正式发布。 配置工单提交权限章节内容优化。 新增管理工单章节。 新增同组授权章节。 2019-09-23 第二次正式发布。 文档内容结构优化。 2018-08-30 第一次正式发布。
  • 操作步骤 登录管理控制台。 单击右上角“工单”,进入“工单管理”页面。 单击左侧导航栏的“我的授权”,可查看所有授权状态信息。 单击待授权问题操作列的“授权”,查看华为工程师需要的授权信息。 图1 授权 填写需要的授权信息,勾选“我已阅读并同意《工单服务协议》”,单击“确认授权”,即可授权给华为工程师处理。 图2 确认授权 当前授权类型包括以下几种: 服务器类授权:SSH协议(包括密码和私钥两种)、RDP协议、VNC协议 帐号授权:支持帐号授权和委托授权 FTP授权:支持SFTP 机密信息授权 授权信息在工单处理结束后在系统中清除,华为云不会保存用户的机密信息,建议用户在工单处理结束后修改密码。
  • 操作步骤 登录管理控制台。 单击右上角“工单”,进入“工单管理”页面。 单击左侧导航栏的“同组授权”,可查看同组用户已授权给华为工程师的授权信息。 单击待授权问题操作列的“授权”,查看华为工程师需要的授权信息。 图1 授权 填写需要的授权信息,勾选“我已阅读并同意《工单服务协议》”,单击“确认授权”,即可授权给华为工程师处理。 图2 确认授权 当前授权类型包括以下几种: 服务器类授权:SSH协议、RDP协议、VNC协议 帐号授权:支持帐号授权和委托授权 FTP授权:支持SFTP通过以下方式提醒我工单进展 机密信息授权 授权信息在工单处理结束后在系统中清除,华为云不会保存用户的机密信息,建议用户在工单处理结束后修改密码。
  • 安装Serverless Framework 通过npm安装Serverless Framework,它在安装Node.js时已经安装。 打开终端,输入npm install -g serverless安装Serverless。 npm install -g serverless 安装完成后,可以通过在终端中运行以下命令来验证Serverless是否安装成功。 serverless 查看安装的Serverless版本,请运行: serverless --version
  • 简介 Serverless Framework帮助您使用华为云函数工作流开发和部署无服务器应用。它是一个CLI,提供开箱即用的结构、自动化功能和最佳实践,您可以专注于构建复杂的、事件驱动的、无服务器架构,由函数和事件组成。 Serverless Framework与其他应用程序框架不同,因为它: 管理您的代码和基础设施。 支持多种语言(Node.js、Python、Java等)。 核心概念 父主题: 使用指南
  • 执行入口签名 事件执行入口的签名如下: 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、函数元数据。具体详情请参见开发事件函数。
  • 内存大小和超时 函数的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
共100000条