@cloudbase/cli 1.11.0 → 1.12.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/tcb.js +1 -1
- package/lib/auth/index.js +14 -0
- package/lib/auth/login.js +91 -0
- package/lib/auth/logout.js +20 -0
- package/lib/commands/account/index.js +14 -0
- package/lib/commands/account/login.js +209 -0
- package/lib/commands/account/logout.js +55 -0
- package/lib/commands/common.js +189 -0
- package/lib/commands/env/base.js +127 -0
- package/lib/commands/env/create.js +115 -0
- package/lib/commands/env/domain.js +221 -0
- package/lib/commands/env/index.js +16 -0
- package/lib/commands/env/login.js +270 -0
- package/lib/commands/framework/index.js +192 -0
- package/lib/commands/functions/alias/getRoute.js +98 -0
- package/lib/commands/functions/alias/index.js +14 -0
- package/lib/commands/functions/alias/setRoute.js +100 -0
- package/lib/commands/functions/code-download.js +123 -0
- package/lib/commands/functions/code-update.js +95 -0
- package/lib/commands/functions/concurrency/delete.js +70 -0
- package/lib/commands/functions/concurrency/index.js +15 -0
- package/lib/commands/functions/concurrency/list.js +81 -0
- package/lib/commands/functions/concurrency/set.js +72 -0
- package/lib/commands/functions/config-update.js +102 -0
- package/lib/commands/functions/copy.js +85 -0
- package/lib/commands/functions/delete.js +102 -0
- package/lib/commands/functions/deploy.js +294 -0
- package/lib/commands/functions/detail.js +168 -0
- package/lib/commands/functions/index.js +28 -0
- package/lib/commands/functions/invoke.js +141 -0
- package/lib/commands/functions/layer/bind.js +190 -0
- package/lib/commands/functions/layer/common.js +12 -0
- package/lib/commands/functions/layer/create.js +77 -0
- package/lib/commands/functions/layer/delete.js +91 -0
- package/lib/commands/functions/layer/download.js +109 -0
- package/lib/commands/functions/layer/index.js +19 -0
- package/lib/commands/functions/layer/list.js +112 -0
- package/lib/commands/functions/layer/sort.js +100 -0
- package/lib/commands/functions/list.js +94 -0
- package/lib/commands/functions/log.js +154 -0
- package/lib/commands/functions/run.js +240 -0
- package/lib/commands/functions/trigger-create.js +101 -0
- package/lib/commands/functions/trigger-delete.js +123 -0
- package/lib/commands/functions/version/index.js +14 -0
- package/lib/commands/functions/version/list.js +96 -0
- package/lib/commands/functions/version/publish.js +70 -0
- package/lib/commands/gateway/create.js +127 -0
- package/lib/commands/gateway/delete.js +110 -0
- package/lib/commands/gateway/domain.js +201 -0
- package/lib/commands/gateway/index.js +17 -0
- package/lib/commands/gateway/list.js +106 -0
- package/lib/commands/gateway/switch.js +141 -0
- package/lib/commands/helpers/index.js +15 -0
- package/lib/commands/helpers/init.js +394 -0
- package/lib/commands/helpers/new.js +129 -0
- package/lib/commands/helpers/open.js +89 -0
- package/lib/commands/hosting/hosting.js +377 -0
- package/lib/commands/hosting/index.js +13 -0
- package/lib/commands/index.js +25 -0
- package/lib/commands/lowcode/app.js +67 -0
- package/lib/commands/lowcode/comps.js +442 -0
- package/lib/commands/lowcode/index.js +14 -0
- package/lib/commands/lowcode/utils.js +25 -0
- package/lib/commands/run/create.js +157 -0
- package/lib/commands/run/delete.js +96 -0
- package/lib/commands/run/image/common.js +12 -0
- package/lib/commands/run/image/delete.js +85 -0
- package/lib/commands/run/image/download.js +80 -0
- package/lib/commands/run/image/index.js +17 -0
- package/lib/commands/run/image/list.js +98 -0
- package/lib/commands/run/image/upload.js +104 -0
- package/lib/commands/run/index.js +18 -0
- package/lib/commands/run/list.js +98 -0
- package/lib/commands/run/standalonegateway/common.js +12 -0
- package/lib/commands/run/standalonegateway/create.js +105 -0
- package/lib/commands/run/standalonegateway/destroy.js +81 -0
- package/lib/commands/run/standalonegateway/index.js +17 -0
- package/lib/commands/run/standalonegateway/list.js +77 -0
- package/lib/commands/run/standalonegateway/package.js +86 -0
- package/lib/commands/run/standalonegateway/turn.js +86 -0
- package/lib/commands/run/version/common.js +12 -0
- package/lib/commands/run/version/create.js +323 -0
- package/lib/commands/run/version/delete.js +84 -0
- package/lib/commands/run/version/index.js +17 -0
- package/lib/commands/run/version/list.js +103 -0
- package/lib/commands/run/version/modify.js +136 -0
- package/lib/commands/run/version/update.js +345 -0
- package/lib/commands/smart.js +119 -0
- package/lib/commands/storage/index.js +13 -0
- package/lib/commands/storage/storage.js +510 -0
- package/lib/commands/third/index.js +13 -0
- package/lib/commands/third/thirdAttach.js +77 -0
- package/lib/completion/index.js +15 -0
- package/lib/constant.js +101 -0
- package/lib/decorators/captureError.js +30 -0
- package/lib/decorators/constants.js +14 -0
- package/lib/decorators/deprecate.js +17 -0
- package/lib/decorators/guard.js +35 -0
- package/lib/decorators/index.js +21 -0
- package/lib/decorators/injectParams.js +55 -0
- package/lib/decorators/params/common.js +16 -0
- package/lib/decorators/params/index.js +33 -0
- package/lib/env/domain.js +42 -0
- package/lib/env/index.js +86 -0
- package/lib/env/login.js +78 -0
- package/lib/error.js +17 -0
- package/lib/function/alias.js +53 -0
- package/lib/function/base.js +222 -0
- package/lib/function/code.js +52 -0
- package/lib/function/concurrency.js +69 -0
- package/lib/function/create.js +71 -0
- package/lib/function/delete.js +52 -0
- package/lib/function/index.js +23 -0
- package/lib/function/layer/attach.js +64 -0
- package/lib/function/layer/create.js +61 -0
- package/lib/function/layer/delete.js +24 -0
- package/lib/function/layer/download.js +55 -0
- package/lib/function/layer/index.js +19 -0
- package/lib/function/layer/list.js +35 -0
- package/lib/function/layer/sort.js +25 -0
- package/lib/function/trigger.js +105 -0
- package/lib/function/update.js +40 -0
- package/lib/function/version.js +51 -0
- package/lib/function/vpc.js +35 -0
- package/lib/gateway/index.js +136 -0
- package/lib/help.js +51 -0
- package/lib/hosting.js +186 -0
- package/lib/index.js +13 -0
- package/lib/logger.js +19 -0
- package/lib/run/create.js +19 -0
- package/lib/run/delete.js +22 -0
- package/lib/run/image/build.js +37 -0
- package/lib/run/image/delete.js +22 -0
- package/lib/run/image/index.js +16 -0
- package/lib/run/image/info.js +29 -0
- package/lib/run/image/list.js +30 -0
- package/lib/run/index.js +19 -0
- package/lib/run/list.js +39 -0
- package/lib/run/repo.js +31 -0
- package/lib/run/standalonegateway/create.js +32 -0
- package/lib/run/standalonegateway/destroy.js +28 -0
- package/lib/run/standalonegateway/index.js +17 -0
- package/lib/run/standalonegateway/list.js +44 -0
- package/lib/run/standalonegateway/package/index.js +13 -0
- package/lib/run/standalonegateway/package/list.js +32 -0
- package/lib/run/standalonegateway/turn/index.js +14 -0
- package/lib/run/standalonegateway/turn/off.js +28 -0
- package/lib/run/standalonegateway/turn/on.js +28 -0
- package/lib/run/version/create.js +50 -0
- package/lib/run/version/delete.js +23 -0
- package/lib/run/version/index.js +18 -0
- package/lib/run/version/list.js +24 -0
- package/lib/run/version/modify.js +24 -0
- package/lib/run/version/repo.js +33 -0
- package/lib/run/version/update.js +39 -0
- package/lib/storage.js +124 -0
- package/lib/third/index.js +25 -0
- package/lib/types.js +7 -0
- package/lib/utils/auth.js +27 -0
- package/lib/utils/cli-table.js +18 -0
- package/lib/utils/config.js +38 -0
- package/lib/utils/env.js +220 -0
- package/lib/utils/fs/del.js +11 -0
- package/lib/utils/fs/index.js +83 -0
- package/lib/utils/function-packer.js +86 -0
- package/lib/utils/index.js +30 -0
- package/lib/utils/log.js +82 -0
- package/lib/utils/net/cloud-api-request.js +57 -0
- package/lib/utils/net/credential.js +60 -0
- package/lib/utils/net/http-request.js +96 -0
- package/lib/utils/net/index.js +17 -0
- package/lib/utils/net/manager-service.js +51 -0
- package/lib/utils/net/proxy.js +9 -0
- package/lib/utils/notice.js +37 -0
- package/lib/utils/output/highlight.js +11 -0
- package/lib/utils/output/index.js +15 -0
- package/lib/utils/output/link.js +16 -0
- package/lib/utils/output/loading.js +68 -0
- package/lib/utils/parallel.js +65 -0
- package/lib/utils/platform/index.js +15 -0
- package/lib/utils/platform/mac.js +37 -0
- package/lib/utils/platform/os.js +59 -0
- package/lib/utils/platform/port.js +26 -0
- package/lib/utils/progress-bar.js +43 -0
- package/lib/utils/prompt/index.js +13 -0
- package/lib/utils/prompt/select.js +52 -0
- package/lib/utils/reporter/agree.js +31 -0
- package/lib/utils/reporter/download.js +37 -0
- package/lib/utils/reporter/index.js +15 -0
- package/lib/utils/reporter/usage.js +32 -0
- package/lib/utils/store/auth.js +58 -0
- package/lib/utils/store/common.js +8 -0
- package/lib/utils/store/db.js +78 -0
- package/lib/utils/store/index.js +17 -0
- package/lib/utils/store/usage.js +9 -0
- package/lib/utils/template.js +130 -0
- package/lib/utils/tools/encoding.js +13 -0
- package/lib/utils/tools/index.js +16 -0
- package/lib/utils/tools/object.js +28 -0
- package/lib/utils/tools/time.js +49 -0
- package/lib/utils/tools/uid.js +25 -0
- package/lib/utils/validator.js +33 -0
- package/package.json +11 -4
- package/src/commands/functions/alias/getRoute.ts +76 -0
- package/src/commands/functions/alias/index.ts +2 -0
- package/src/commands/functions/alias/setRoute.ts +82 -0
- package/src/commands/functions/concurrency/delete.ts +45 -0
- package/src/commands/functions/concurrency/index.ts +3 -0
- package/src/commands/functions/concurrency/list.ts +58 -0
- package/src/commands/functions/concurrency/set.ts +47 -0
- package/src/commands/functions/index.ts +3 -0
- package/src/commands/functions/list.ts +1 -8
- package/src/commands/functions/version/index.ts +2 -0
- package/src/commands/functions/version/list.ts +73 -0
- package/src/commands/functions/version/publish.ts +43 -0
- package/src/constant.ts +24 -0
- package/src/function/alias.ts +43 -0
- package/src/function/concurrency.ts +57 -0
- package/src/function/index.ts +4 -1
- package/src/function/version.ts +39 -0
- package/src/types.ts +95 -0
- package/tsconfig.json +1 -0
- package/types/auth/index.d.ts +2 -0
- package/types/auth/login.d.ts +20 -0
- package/types/auth/logout.d.ts +1 -0
- package/types/commands/account/index.d.ts +2 -0
- package/types/commands/account/login.d.ts +15 -0
- package/types/commands/account/logout.d.ts +12 -0
- package/types/commands/common.d.ts +33 -0
- package/types/commands/env/base.d.ts +27 -0
- package/types/commands/env/create.d.ts +12 -0
- package/types/commands/env/domain.d.ts +53 -0
- package/types/commands/env/index.d.ts +4 -0
- package/types/commands/env/login.d.ts +47 -0
- package/types/commands/framework/index.d.ts +42 -0
- package/types/commands/functions/alias/getRoute.d.ts +13 -0
- package/types/commands/functions/alias/index.d.ts +2 -0
- package/types/commands/functions/alias/setRoute.d.ts +13 -0
- package/types/commands/functions/code-download.d.ts +18 -0
- package/types/commands/functions/code-update.d.ts +18 -0
- package/types/commands/functions/concurrency/delete.d.ts +13 -0
- package/types/commands/functions/concurrency/index.d.ts +3 -0
- package/types/commands/functions/concurrency/list.d.ts +13 -0
- package/types/commands/functions/concurrency/set.d.ts +13 -0
- package/types/commands/functions/config-update.d.ts +19 -0
- package/types/commands/functions/copy.d.ts +15 -0
- package/types/commands/functions/delete.d.ts +14 -0
- package/types/commands/functions/deploy.d.ts +21 -0
- package/types/commands/functions/detail.d.ts +16 -0
- package/types/commands/functions/index.d.ts +16 -0
- package/types/commands/functions/invoke.d.ts +15 -0
- package/types/commands/functions/layer/bind.d.ts +35 -0
- package/types/commands/functions/layer/common.d.ts +8 -0
- package/types/commands/functions/layer/create.d.ts +18 -0
- package/types/commands/functions/layer/delete.d.ts +18 -0
- package/types/commands/functions/layer/download.d.ts +18 -0
- package/types/commands/functions/layer/index.d.ts +7 -0
- package/types/commands/functions/layer/list.d.ts +19 -0
- package/types/commands/functions/layer/sort.d.ts +18 -0
- package/types/commands/functions/list.d.ts +14 -0
- package/types/commands/functions/log.d.ts +15 -0
- package/types/commands/functions/run.d.ts +17 -0
- package/types/commands/functions/trigger-create.d.ts +18 -0
- package/types/commands/functions/trigger-delete.d.ts +18 -0
- package/types/commands/functions/version/index.d.ts +2 -0
- package/types/commands/functions/version/list.d.ts +13 -0
- package/types/commands/functions/version/publish.d.ts +13 -0
- package/types/commands/gateway/create.d.ts +14 -0
- package/types/commands/gateway/delete.d.ts +14 -0
- package/types/commands/gateway/domain.d.ts +47 -0
- package/types/commands/gateway/index.d.ts +5 -0
- package/types/commands/gateway/list.d.ts +15 -0
- package/types/commands/gateway/switch.d.ts +31 -0
- package/types/commands/helpers/index.d.ts +3 -0
- package/types/commands/helpers/init.d.ts +22 -0
- package/types/commands/helpers/new.d.ts +17 -0
- package/types/commands/helpers/open.d.ts +11 -0
- package/types/commands/hosting/hosting.d.ts +66 -0
- package/types/commands/hosting/index.d.ts +1 -0
- package/types/commands/index.d.ts +13 -0
- package/types/commands/lowcode/app.d.ts +14 -0
- package/types/commands/lowcode/comps.d.ts +77 -0
- package/types/commands/lowcode/index.d.ts +2 -0
- package/types/commands/lowcode/utils.d.ts +3 -0
- package/types/commands/run/create.d.ts +13 -0
- package/types/commands/run/delete.d.ts +13 -0
- package/types/commands/run/image/common.d.ts +8 -0
- package/types/commands/run/image/delete.d.ts +17 -0
- package/types/commands/run/image/download.d.ts +17 -0
- package/types/commands/run/image/index.d.ts +5 -0
- package/types/commands/run/image/list.d.ts +17 -0
- package/types/commands/run/image/upload.d.ts +17 -0
- package/types/commands/run/index.d.ts +6 -0
- package/types/commands/run/list.d.ts +13 -0
- package/types/commands/run/standalonegateway/common.d.ts +8 -0
- package/types/commands/run/standalonegateway/create.d.ts +17 -0
- package/types/commands/run/standalonegateway/destroy.d.ts +17 -0
- package/types/commands/run/standalonegateway/index.d.ts +5 -0
- package/types/commands/run/standalonegateway/list.d.ts +17 -0
- package/types/commands/run/standalonegateway/package.d.ts +17 -0
- package/types/commands/run/standalonegateway/turn.d.ts +17 -0
- package/types/commands/run/version/common.d.ts +8 -0
- package/types/commands/run/version/create.d.ts +17 -0
- package/types/commands/run/version/delete.d.ts +17 -0
- package/types/commands/run/version/index.d.ts +5 -0
- package/types/commands/run/version/list.d.ts +17 -0
- package/types/commands/run/version/modify.d.ts +17 -0
- package/types/commands/run/version/update.d.ts +17 -0
- package/types/commands/smart.d.ts +1 -0
- package/types/commands/storage/index.d.ts +1 -0
- package/types/commands/storage/storage.d.ts +106 -0
- package/types/commands/third/index.d.ts +1 -0
- package/types/commands/third/thirdAttach.d.ts +15 -0
- package/types/completion/index.d.ts +4 -0
- package/types/constant.d.ts +47 -0
- package/types/decorators/captureError.d.ts +1 -0
- package/types/decorators/constants.d.ts +10 -0
- package/types/decorators/deprecate.d.ts +4 -0
- package/types/decorators/guard.d.ts +5 -0
- package/types/decorators/index.d.ts +7 -0
- package/types/decorators/injectParams.d.ts +1 -0
- package/types/decorators/params/common.d.ts +4 -0
- package/types/decorators/params/index.d.ts +7 -0
- package/types/env/domain.d.ts +11 -0
- package/types/env/index.d.ts +18 -0
- package/types/env/login.d.ts +16 -0
- package/types/error.d.ts +20 -0
- package/types/function/alias.d.ts +3 -0
- package/types/function/base.d.ts +31 -0
- package/types/function/code.d.ts +9 -0
- package/types/function/concurrency.d.ts +4 -0
- package/types/function/create.d.ts +3 -0
- package/types/function/delete.d.ts +8 -0
- package/types/function/index.d.ts +11 -0
- package/types/function/layer/attach.d.ts +9 -0
- package/types/function/layer/create.d.ts +7 -0
- package/types/function/layer/delete.d.ts +5 -0
- package/types/function/layer/download.d.ts +8 -0
- package/types/function/layer/index.d.ts +7 -0
- package/types/function/layer/list.d.ts +9 -0
- package/types/function/layer/sort.d.ts +10 -0
- package/types/function/trigger.d.ts +5 -0
- package/types/function/update.d.ts +2 -0
- package/types/function/version.d.ts +3 -0
- package/types/function/vpc.d.ts +2 -0
- package/types/gateway/index.d.ts +18 -0
- package/types/help.d.ts +1 -0
- package/types/hosting.d.ts +29 -0
- package/types/index.d.ts +3 -0
- package/types/logger.d.ts +3 -0
- package/types/run/create.d.ts +2 -0
- package/types/run/delete.d.ts +2 -0
- package/types/run/image/build.d.ts +10 -0
- package/types/run/image/delete.d.ts +2 -0
- package/types/run/image/index.d.ts +4 -0
- package/types/run/image/info.d.ts +1 -0
- package/types/run/image/list.d.ts +3 -0
- package/types/run/index.d.ts +7 -0
- package/types/run/list.d.ts +2 -0
- package/types/run/repo.d.ts +5 -0
- package/types/run/standalonegateway/create.d.ts +2 -0
- package/types/run/standalonegateway/destroy.d.ts +2 -0
- package/types/run/standalonegateway/index.d.ts +5 -0
- package/types/run/standalonegateway/list.d.ts +2 -0
- package/types/run/standalonegateway/package/index.d.ts +1 -0
- package/types/run/standalonegateway/package/list.d.ts +2 -0
- package/types/run/standalonegateway/turn/index.d.ts +2 -0
- package/types/run/standalonegateway/turn/off.d.ts +2 -0
- package/types/run/standalonegateway/turn/on.d.ts +2 -0
- package/types/run/version/create.d.ts +10 -0
- package/types/run/version/delete.d.ts +2 -0
- package/types/run/version/index.d.ts +6 -0
- package/types/run/version/list.d.ts +2 -0
- package/types/run/version/modify.d.ts +2 -0
- package/types/run/version/repo.d.ts +10 -0
- package/types/run/version/update.d.ts +6 -0
- package/types/storage.d.ts +34 -0
- package/types/third/index.d.ts +1 -0
- package/types/types.d.ts +460 -0
- package/types/utils/auth.d.ts +3 -0
- package/types/utils/cli-table.d.ts +2 -0
- package/types/utils/config.d.ts +11 -0
- package/types/utils/env.d.ts +5 -0
- package/types/utils/fs/del.d.ts +1 -0
- package/types/utils/fs/index.d.ts +7 -0
- package/types/utils/function-packer.d.ts +18 -0
- package/types/utils/index.d.ts +18 -0
- package/types/utils/log.d.ts +21 -0
- package/types/utils/net/cloud-api-request.d.ts +9 -0
- package/types/utils/net/credential.d.ts +5 -0
- package/types/utils/net/http-request.d.ts +4 -0
- package/types/utils/net/index.d.ts +5 -0
- package/types/utils/net/manager-service.d.ts +4 -0
- package/types/utils/net/proxy.d.ts +1 -0
- package/types/utils/notice.d.ts +1 -0
- package/types/utils/output/highlight.d.ts +1 -0
- package/types/utils/output/index.d.ts +3 -0
- package/types/utils/output/link.d.ts +1 -0
- package/types/utils/output/loading.d.ts +18 -0
- package/types/utils/parallel.d.ts +11 -0
- package/types/utils/platform/index.d.ts +3 -0
- package/types/utils/platform/mac.d.ts +2 -0
- package/types/utils/platform/os.d.ts +2 -0
- package/types/utils/platform/port.d.ts +1 -0
- package/types/utils/progress-bar.d.ts +1 -0
- package/types/utils/prompt/index.d.ts +1 -0
- package/types/utils/prompt/select.d.ts +4 -0
- package/types/utils/reporter/agree.d.ts +1 -0
- package/types/utils/reporter/download.d.ts +1 -0
- package/types/utils/reporter/index.d.ts +3 -0
- package/types/utils/reporter/usage.d.ts +1 -0
- package/types/utils/store/auth.d.ts +8 -0
- package/types/utils/store/common.d.ts +2 -0
- package/types/utils/store/db.d.ts +15 -0
- package/types/utils/store/index.d.ts +5 -0
- package/types/utils/store/usage.d.ts +2 -0
- package/types/utils/template.d.ts +8 -0
- package/types/utils/tools/encoding.d.ts +1 -0
- package/types/utils/tools/index.d.ts +4 -0
- package/types/utils/tools/object.d.ts +1 -0
- package/types/utils/tools/time.d.ts +2 -0
- package/types/utils/tools/uid.d.ts +2 -0
- package/types/utils/validator.d.ts +5 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { loadingFactory, printHorizontalTable } from '../../../utils'
|
|
4
|
+
import { getFunctionAliasConfig } from '../../../function'
|
|
5
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
function parseRoutingConfigValue(expression: string) {
|
|
9
|
+
const commaIndex = expression.indexOf(',')
|
|
10
|
+
const valueExpression = expression.substring(commaIndex + 1, expression.length - 1)
|
|
11
|
+
return valueExpression
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@ICommand()
|
|
15
|
+
export class getFunctionRoutingConfig extends Command {
|
|
16
|
+
get options() {
|
|
17
|
+
return {
|
|
18
|
+
cmd: 'fn',
|
|
19
|
+
childCmd: 'get-route <name>',
|
|
20
|
+
options: [
|
|
21
|
+
{
|
|
22
|
+
flags: '-e, --envId <envId>',
|
|
23
|
+
desc: '环境 Id'
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
desc: '查看函数版本流量配置'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@InjectParams()
|
|
31
|
+
async execute(@CmdContext() ctx, @ArgsParams() params) {
|
|
32
|
+
const name = params?.[0]
|
|
33
|
+
|
|
34
|
+
const {
|
|
35
|
+
envId
|
|
36
|
+
} = ctx
|
|
37
|
+
|
|
38
|
+
const loading = loadingFactory()
|
|
39
|
+
loading.start(`查询函数 [${name}] 版本流量配置中...`)
|
|
40
|
+
|
|
41
|
+
const aliasRes = await getFunctionAliasConfig({
|
|
42
|
+
envId,
|
|
43
|
+
functionName: name,
|
|
44
|
+
name: '$DEFAULT'
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
const routingConfig = aliasRes?.RoutingConfig?.AddtionVersionMatchs
|
|
48
|
+
let finalConfig = []
|
|
49
|
+
if (routingConfig.length === 1) {
|
|
50
|
+
finalConfig.push({
|
|
51
|
+
version: routingConfig[0].Version,
|
|
52
|
+
value: parseRoutingConfigValue(routingConfig[0].Expression)
|
|
53
|
+
})
|
|
54
|
+
} else if (routingConfig.length === 2) {
|
|
55
|
+
finalConfig.push({
|
|
56
|
+
version: routingConfig[0].Version,
|
|
57
|
+
value: parseRoutingConfigValue(routingConfig[0].Expression)
|
|
58
|
+
}, {
|
|
59
|
+
version: routingConfig[1].Version,
|
|
60
|
+
value: 100 - Number(parseRoutingConfigValue(routingConfig[0].Expression))
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
loading.stop()
|
|
65
|
+
|
|
66
|
+
const head: string[] = ['版本', '流量比例']
|
|
67
|
+
|
|
68
|
+
const tableData = finalConfig.map((item) => [
|
|
69
|
+
item.version,
|
|
70
|
+
item.value
|
|
71
|
+
])
|
|
72
|
+
|
|
73
|
+
printHorizontalTable(head, tableData)
|
|
74
|
+
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory } from '../../../utils'
|
|
5
|
+
import { setFunctionAliasConfig } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@ICommand()
|
|
10
|
+
export class setFunctionRoutingConfig extends Command {
|
|
11
|
+
get options() {
|
|
12
|
+
return {
|
|
13
|
+
cmd: 'fn',
|
|
14
|
+
childCmd: 'config-route <name> <version1> <traffic1> [version2] [traffic2]',
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
flags: '-e, --envId <envId>',
|
|
18
|
+
desc: '环境 Id'
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
desc: '设置函数版本流量配置'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@InjectParams()
|
|
26
|
+
async execute(@CmdContext() ctx, @ArgsParams() params) {
|
|
27
|
+
const name = params?.[0]
|
|
28
|
+
const version1 = params?.[1]
|
|
29
|
+
const traffic1 = Number(params?.[2])
|
|
30
|
+
|
|
31
|
+
const version2 = params?.[3]
|
|
32
|
+
const traffic2 = Number(params?.[4])
|
|
33
|
+
|
|
34
|
+
// 校验
|
|
35
|
+
|
|
36
|
+
// 1. version2 及 traffic2 必须同时存在
|
|
37
|
+
if ((version2 === undefined && traffic2 !== undefined) || (version2 !== undefined && traffic2 === undefined)) {
|
|
38
|
+
throw new CloudBaseError('version2 和 traffic2 必须同时设置')
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (traffic1 !== undefined && traffic2 !== undefined) {
|
|
42
|
+
if (traffic1 + traffic2 !== 100) {
|
|
43
|
+
throw new CloudBaseError('traffic1 和 traffic2 同时设置时,需保证总和 100')
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const {
|
|
48
|
+
envId
|
|
49
|
+
} = ctx
|
|
50
|
+
|
|
51
|
+
const loading = loadingFactory()
|
|
52
|
+
loading.start(`设置函数 [${name}] 版本流量配置中...`)
|
|
53
|
+
|
|
54
|
+
let routingConfigParams = {
|
|
55
|
+
AddtionVersionMatchs: [{
|
|
56
|
+
Expression: `[0,${traffic1})`,
|
|
57
|
+
Key: "invoke.headers.X-Tcb-Route-Key",
|
|
58
|
+
Method: "range",
|
|
59
|
+
Version: version1
|
|
60
|
+
}]
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (version2 !== undefined) {
|
|
64
|
+
routingConfigParams.AddtionVersionMatchs.push({
|
|
65
|
+
Expression: `[${traffic1},${100})`,
|
|
66
|
+
Key: "invoke.headers.X-Tcb-Route-Key",
|
|
67
|
+
Method: "range",
|
|
68
|
+
Version: version2
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
await setFunctionAliasConfig({
|
|
73
|
+
envId,
|
|
74
|
+
functionName: name,
|
|
75
|
+
name: '$DEFAULT',
|
|
76
|
+
functionVersion: '$LATEST',
|
|
77
|
+
routingConfig: routingConfigParams
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
loading.succeed(`设置函数 [${name}] 版本流量配置成功!`)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory } from '../../../utils'
|
|
5
|
+
import { deleteProvisionedConcurrencyConfig } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@ICommand()
|
|
10
|
+
export class deleteProvisionedConcurrency extends Command {
|
|
11
|
+
get options() {
|
|
12
|
+
return {
|
|
13
|
+
cmd: 'fn',
|
|
14
|
+
childCmd: 'delete-provisioned-concurrency <name> <version>',
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
flags: '-e, --envId <envId>',
|
|
18
|
+
desc: '环境 Id'
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
desc: '删除函数版本预置并发配置'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@InjectParams()
|
|
26
|
+
async execute(@CmdContext() ctx, @ArgsParams() params) {
|
|
27
|
+
const name = params?.[0]
|
|
28
|
+
const version = params?.[1]
|
|
29
|
+
|
|
30
|
+
const {
|
|
31
|
+
envId
|
|
32
|
+
} = ctx
|
|
33
|
+
|
|
34
|
+
const loading = loadingFactory()
|
|
35
|
+
loading.start(`删除函数 [${name}] 预置并发配置中...`)
|
|
36
|
+
|
|
37
|
+
await deleteProvisionedConcurrencyConfig({
|
|
38
|
+
envId,
|
|
39
|
+
functionName: name,
|
|
40
|
+
qualifier: version
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
loading.succeed(`删除函数 [${name}] 预置并发配置成功!`)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory, printHorizontalTable } from '../../../utils'
|
|
5
|
+
import { getProvisionedConcurrencyConfig } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
7
|
+
import { StatusMap, ConcurrencyTaskStatus } from '../../../constant'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@ICommand()
|
|
11
|
+
export class getProvisionedConcurrency extends Command {
|
|
12
|
+
get options() {
|
|
13
|
+
return {
|
|
14
|
+
cmd: 'fn',
|
|
15
|
+
childCmd: 'get-provisioned-concurrency <name> [version]',
|
|
16
|
+
options: [
|
|
17
|
+
{
|
|
18
|
+
flags: '-e, --envId <envId>',
|
|
19
|
+
desc: '环境 Id'
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
desc: '获取函数版本预置并发配置'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@InjectParams()
|
|
27
|
+
async execute(@CmdContext() ctx, @ArgsParams() params, @ArgsOptions() options) {
|
|
28
|
+
const name = params?.[0]
|
|
29
|
+
const version = params?.[1]
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
envId
|
|
33
|
+
} = ctx
|
|
34
|
+
|
|
35
|
+
const loading = loadingFactory()
|
|
36
|
+
loading.start(`拉取函数 [${name}] 预置并发配置中...`)
|
|
37
|
+
|
|
38
|
+
const res = await getProvisionedConcurrencyConfig({
|
|
39
|
+
envId,
|
|
40
|
+
functionName: name,
|
|
41
|
+
qualifier: version
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
loading.stop()
|
|
45
|
+
|
|
46
|
+
const head: string[] = ['设置并发数', '已完成并发数', '预置任务状态', '状态说明', '版本号']
|
|
47
|
+
|
|
48
|
+
const tableData = res.Allocated.map((item) => [
|
|
49
|
+
item.AllocatedProvisionedConcurrencyNum,
|
|
50
|
+
item.AvailableProvisionedConcurrencyNum,
|
|
51
|
+
ConcurrencyTaskStatus[item.Status] || '无',
|
|
52
|
+
item.StatusReason,
|
|
53
|
+
item.Qualifier
|
|
54
|
+
])
|
|
55
|
+
|
|
56
|
+
printHorizontalTable(head, tableData)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory } from '../../../utils'
|
|
5
|
+
import { setProvisionedConcurrencyConfig } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@ICommand()
|
|
10
|
+
export class setProvisionedConcurrency extends Command {
|
|
11
|
+
get options() {
|
|
12
|
+
return {
|
|
13
|
+
cmd: 'fn',
|
|
14
|
+
childCmd: 'set-provisioned-concurrency <name> <version> <concurrency>',
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
flags: '-e, --envId <envId>',
|
|
18
|
+
desc: '环境 Id'
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
desc: '设置函数版本预置并发'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@InjectParams()
|
|
26
|
+
async execute(@CmdContext() ctx, @ArgsParams() params) {
|
|
27
|
+
const name = params?.[0]
|
|
28
|
+
const version = params?.[1]
|
|
29
|
+
const concurrency = Number(params?.[2] || 0)
|
|
30
|
+
|
|
31
|
+
const {
|
|
32
|
+
envId
|
|
33
|
+
} = ctx
|
|
34
|
+
|
|
35
|
+
const loading = loadingFactory()
|
|
36
|
+
loading.start(`配置函数 [${name}] 预置并发中...`)
|
|
37
|
+
|
|
38
|
+
await setProvisionedConcurrencyConfig({
|
|
39
|
+
envId,
|
|
40
|
+
functionName: name,
|
|
41
|
+
qualifier: version,
|
|
42
|
+
versionProvisionedConcurrencyNum: concurrency
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
loading.succeed(`配置函数 [${name}] 预置并发成功!`)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -3,14 +3,7 @@ import { CloudBaseError } from '../../error'
|
|
|
3
3
|
import { listFunction } from '../../function'
|
|
4
4
|
import { printHorizontalTable, loadingFactory } from '../../utils'
|
|
5
5
|
import { InjectParams, EnvId, ArgsOptions } from '../../decorators'
|
|
6
|
-
|
|
7
|
-
const StatusMap = {
|
|
8
|
-
Active: '部署完成',
|
|
9
|
-
Creating: '创建中',
|
|
10
|
-
CreateFailed: '创建失败',
|
|
11
|
-
Updating: '更新中',
|
|
12
|
-
UpdateFailed: '更新失败'
|
|
13
|
-
}
|
|
6
|
+
import { StatusMap } from '../../constant'
|
|
14
7
|
|
|
15
8
|
@ICommand()
|
|
16
9
|
export class ListFunction extends Command {
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory, printHorizontalTable } from '../../../utils'
|
|
5
|
+
import { listFunctionVersions } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams, ArgsOptions } from '../../../decorators'
|
|
7
|
+
import { StatusMap } from '../../../constant'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@ICommand()
|
|
11
|
+
export class ListFunctionVersion extends Command {
|
|
12
|
+
get options() {
|
|
13
|
+
return {
|
|
14
|
+
cmd: 'fn',
|
|
15
|
+
childCmd: 'list-function-versions <name>',
|
|
16
|
+
options: [
|
|
17
|
+
{
|
|
18
|
+
flags: '-e, --envId <envId>',
|
|
19
|
+
desc: '环境 Id'
|
|
20
|
+
},
|
|
21
|
+
{ flags: '-l, --limit <limit>', desc: '返回数据长度,默认值为 20' },
|
|
22
|
+
{
|
|
23
|
+
flags: '-o, --offset <offset>',
|
|
24
|
+
desc: '数据偏移量,默认值为 0'
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
desc: '展示函数版本列表'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@InjectParams()
|
|
32
|
+
async execute(@CmdContext() ctx, @ArgsParams() params, @ArgsOptions() options) {
|
|
33
|
+
const name = params?.[0]
|
|
34
|
+
let { limit = 20, offset = 0 } = options
|
|
35
|
+
limit = Number(limit)
|
|
36
|
+
offset = Number(offset)
|
|
37
|
+
if (!Number.isInteger(limit) || !Number.isInteger(offset)) {
|
|
38
|
+
throw new CloudBaseError('limit 和 offset 必须为整数')
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (limit < 0 || offset < 0) {
|
|
42
|
+
throw new CloudBaseError('limit 和 offset 必须为大于 0 的整数')
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const {
|
|
46
|
+
envId
|
|
47
|
+
} = ctx
|
|
48
|
+
|
|
49
|
+
const loading = loadingFactory()
|
|
50
|
+
loading.start(`拉取函数 [${name}] 版本列表中...`)
|
|
51
|
+
|
|
52
|
+
const res = await listFunctionVersions({
|
|
53
|
+
envId,
|
|
54
|
+
functionName: name,
|
|
55
|
+
offset,
|
|
56
|
+
limit
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
loading.stop()
|
|
60
|
+
|
|
61
|
+
const head: string[] = ['版本', '描述', '创建时间', '修改时间', '状态']
|
|
62
|
+
|
|
63
|
+
const tableData = res.Versions.map((item) => [
|
|
64
|
+
item.Version,
|
|
65
|
+
item.Description,
|
|
66
|
+
item.AddTime,
|
|
67
|
+
item.ModTime,
|
|
68
|
+
StatusMap[item.Status]
|
|
69
|
+
])
|
|
70
|
+
|
|
71
|
+
printHorizontalTable(head, tableData)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
import { Command, ICommand } from '../../common'
|
|
3
|
+
import { CloudBaseError } from '../../../error'
|
|
4
|
+
import { loadingFactory } from '../../../utils'
|
|
5
|
+
import { publishVersion } from '../../../function'
|
|
6
|
+
import { InjectParams, CmdContext, ArgsParams } from '../../../decorators'
|
|
7
|
+
|
|
8
|
+
@ICommand()
|
|
9
|
+
export class PublishFunctionVersion extends Command {
|
|
10
|
+
get options() {
|
|
11
|
+
return {
|
|
12
|
+
cmd: 'fn',
|
|
13
|
+
childCmd: 'publish-version <name> [description]',
|
|
14
|
+
options: [
|
|
15
|
+
{
|
|
16
|
+
flags: '-e, --envId <envId>',
|
|
17
|
+
desc: '环境 Id'
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
desc: '发布函数新版本'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@InjectParams()
|
|
25
|
+
async execute(@CmdContext() ctx, @ArgsParams() params) {
|
|
26
|
+
const name = params?.[0]
|
|
27
|
+
const description = params?.[1]
|
|
28
|
+
const {
|
|
29
|
+
envId
|
|
30
|
+
} = ctx
|
|
31
|
+
|
|
32
|
+
const loading = loadingFactory()
|
|
33
|
+
loading.start(`发布函数 [${name}] 新版本中...`)
|
|
34
|
+
|
|
35
|
+
await publishVersion({
|
|
36
|
+
envId,
|
|
37
|
+
functionName: name,
|
|
38
|
+
description
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
loading.succeed(`发布函数 [${name}] 新版本成功!`)
|
|
42
|
+
}
|
|
43
|
+
}
|
package/src/constant.ts
CHANGED
|
@@ -68,6 +68,12 @@ export const ALL_COMMANDS = [
|
|
|
68
68
|
'fn trigger create',
|
|
69
69
|
'fn trigger delete',
|
|
70
70
|
'fn invoke',
|
|
71
|
+
'fn publish-version',
|
|
72
|
+
'fn list-function-versions',
|
|
73
|
+
'fn put-provisioned-concurrency',
|
|
74
|
+
'fn get-provisioned-concurrency',
|
|
75
|
+
'fn delete-provisioned-concurrency',
|
|
76
|
+
'fn config-route',
|
|
71
77
|
'functions run',
|
|
72
78
|
'storage upload',
|
|
73
79
|
'storage download',
|
|
@@ -94,3 +100,21 @@ export const ALL_COMMANDS = [
|
|
|
94
100
|
'run standalonegateway turn on',
|
|
95
101
|
'run standalonegateway turn off',
|
|
96
102
|
]
|
|
103
|
+
|
|
104
|
+
export const StatusMap = {
|
|
105
|
+
Active: '部署完成',
|
|
106
|
+
Creating: '创建中',
|
|
107
|
+
CreateFailed: '创建失败',
|
|
108
|
+
Updating: '更新中',
|
|
109
|
+
UpdateFailed: '更新失败',
|
|
110
|
+
Publishing: '函数版本发布中',
|
|
111
|
+
PublishFailed: '函数版本发布失败',
|
|
112
|
+
Deleting: '函数删除中',
|
|
113
|
+
DeleteFailed: '函数删除失败'
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export const ConcurrencyTaskStatus = {
|
|
117
|
+
Done: '已完成',
|
|
118
|
+
InProgress: '进行中',
|
|
119
|
+
Failed: '失败'
|
|
120
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CloudBaseError } from '../error'
|
|
2
|
+
import { IUpdateFunctionAliasConfig, IGetFunctionAlias, IGetFunctionAliasRes } from '../types'
|
|
3
|
+
import { getFunctionService } from './base'
|
|
4
|
+
|
|
5
|
+
// 设置函数流量配置信息(ALIAS 配置)
|
|
6
|
+
export async function setFunctionAliasConfig(options: IUpdateFunctionAliasConfig) {
|
|
7
|
+
const { envId, functionName, name, functionVersion, description, routingConfig } = options
|
|
8
|
+
|
|
9
|
+
const scfService = await getFunctionService(envId)
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
await scfService.updateFunctionAliasConfig({
|
|
13
|
+
functionName,
|
|
14
|
+
name,
|
|
15
|
+
functionVersion,
|
|
16
|
+
description,
|
|
17
|
+
routingConfig
|
|
18
|
+
})
|
|
19
|
+
} catch (e) {
|
|
20
|
+
throw new CloudBaseError(`[${functionName}] 设置函数流量配置失败: ${e.message}`, {
|
|
21
|
+
code: e.code
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// 查询函数别名配置信息
|
|
27
|
+
export async function getFunctionAliasConfig(options: IGetFunctionAlias): Promise<IGetFunctionAliasRes> {
|
|
28
|
+
const { envId, functionName, name } = options
|
|
29
|
+
|
|
30
|
+
const scfService = await getFunctionService(envId)
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
return scfService.getFunctionAlias({
|
|
34
|
+
functionName,
|
|
35
|
+
name
|
|
36
|
+
})
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw new CloudBaseError(`[${functionName}] 查询函数别名配置失败: ${e.message}`, {
|
|
39
|
+
code: e.code
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CloudBaseError } from '../error'
|
|
2
|
+
import { ISetProvisionedConcurrencyConfig, IGetProvisionedConcurrencyConfig, IGetProvisionedConcurrencyRes, IFunctionVersionsRes } from '../types'
|
|
3
|
+
import { getFunctionService } from './base'
|
|
4
|
+
|
|
5
|
+
// 设置函数预置并发
|
|
6
|
+
export async function setProvisionedConcurrencyConfig(options: ISetProvisionedConcurrencyConfig) {
|
|
7
|
+
const { envId, functionName, qualifier, versionProvisionedConcurrencyNum } = options
|
|
8
|
+
|
|
9
|
+
const scfService = await getFunctionService(envId)
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
await scfService.setProvisionedConcurrencyConfig({
|
|
13
|
+
functionName,
|
|
14
|
+
qualifier,
|
|
15
|
+
versionProvisionedConcurrencyNum
|
|
16
|
+
})
|
|
17
|
+
} catch (e) {
|
|
18
|
+
throw new CloudBaseError(`[${functionName}] 设置函数预置并发失败: ${e.message}`, {
|
|
19
|
+
code: e.code
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 查看函数预置并发
|
|
25
|
+
export async function getProvisionedConcurrencyConfig(options: IGetProvisionedConcurrencyConfig): Promise<IGetProvisionedConcurrencyRes> {
|
|
26
|
+
const { envId, functionName, qualifier } = options
|
|
27
|
+
const scfService = await getFunctionService(envId)
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
return scfService.getProvisionedConcurrencyConfig({
|
|
31
|
+
functionName,
|
|
32
|
+
qualifier,
|
|
33
|
+
})
|
|
34
|
+
} catch (e) {
|
|
35
|
+
throw new CloudBaseError(`[${functionName}] 查看函数预置并发信息失败: ${e.message}`, {
|
|
36
|
+
code: e.code
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 删除函数预置并发
|
|
42
|
+
export async function deleteProvisionedConcurrencyConfig(options: IGetProvisionedConcurrencyConfig): Promise<void> {
|
|
43
|
+
const { envId, functionName, qualifier } = options
|
|
44
|
+
const scfService = await getFunctionService(envId)
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
await scfService.deleteProvisionedConcurrencyConfig({
|
|
48
|
+
functionName,
|
|
49
|
+
qualifier
|
|
50
|
+
})
|
|
51
|
+
} catch (e) {
|
|
52
|
+
throw new CloudBaseError(`[${functionName}] 删除函数预置并发失败: ${e.message}`, {
|
|
53
|
+
code: e.code
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
package/src/function/index.ts
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CloudBaseError } from '../error'
|
|
2
|
+
import { IPublishVersionParams, IListFunctionVersionParams, IFunctionVersionsRes } from '../types'
|
|
3
|
+
import { getFunctionService } from './base'
|
|
4
|
+
|
|
5
|
+
// 发布云函数新版本
|
|
6
|
+
export async function publishVersion(options: IPublishVersionParams) {
|
|
7
|
+
const { envId, functionName, description = '' } = options
|
|
8
|
+
|
|
9
|
+
const scfService = await getFunctionService(envId)
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
await scfService.publishVersion({
|
|
13
|
+
functionName,
|
|
14
|
+
description
|
|
15
|
+
})
|
|
16
|
+
} catch (e) {
|
|
17
|
+
throw new CloudBaseError(`[${functionName}] 函数发布新版本失败: ${e.message}`, {
|
|
18
|
+
code: e.code
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// 查看函数所有版本
|
|
24
|
+
export async function listFunctionVersions(options: IListFunctionVersionParams): Promise<IFunctionVersionsRes> {
|
|
25
|
+
const { envId, functionName, offset = 0, limit = 20 } = options
|
|
26
|
+
const scfService = await getFunctionService(envId)
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
return scfService.listVersionByFunction({
|
|
30
|
+
functionName,
|
|
31
|
+
offset,
|
|
32
|
+
limit
|
|
33
|
+
})
|
|
34
|
+
} catch (e) {
|
|
35
|
+
throw new CloudBaseError(`[${functionName}] 查看寒函数版本列表失败: ${e.message}`, {
|
|
36
|
+
code: e.code
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
}
|