@cloudbase/manager-node 5.8.0-beta.2 → 5.8.0
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/CHANGELOG.md +6 -0
- package/lib/env/index.js +27 -0
- package/lib/function/index.js +98 -91
- package/package.json +2 -2
- package/types/env/index.d.ts +17 -1
- package/types/env/type.d.ts +257 -3
- package/types/function/index.d.ts +36 -36
package/CHANGELOG.md
CHANGED
package/lib/env/index.js
CHANGED
|
@@ -28,6 +28,7 @@ class EnvService {
|
|
|
28
28
|
this.tcbService = new utils_1.CloudService(environment.cloudBaseContext, 'tcb', '2018-06-08');
|
|
29
29
|
this.commonService = environment.getCommonService('lowcode', '2021-01-08');
|
|
30
30
|
this.billingService = new billing_1.BillingService(environment.cloudBaseContext);
|
|
31
|
+
this.certificateCloudService = new utils_1.CloudService(environment.cloudBaseContext, 'ssl', '2019-12-05');
|
|
31
32
|
this.tokenCache = new Map();
|
|
32
33
|
}
|
|
33
34
|
/**
|
|
@@ -769,6 +770,23 @@ class EnvService {
|
|
|
769
770
|
async describeCreditsUsageDetail(params) {
|
|
770
771
|
return this.cloudService.request('DescribeCreditsUsageDetail', Object.assign({}, params));
|
|
771
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* 获取当前凭证有权限访问的 SSL 证书列表。
|
|
775
|
+
*
|
|
776
|
+
* 证书用于自定义域名 HTTPS 配置,本接口不依赖 CloudBase 环境信息。
|
|
777
|
+
* @param {DescribeCertificatesParams} params 查询参数
|
|
778
|
+
* @returns {Promise<DescribeCertificatesRes>}
|
|
779
|
+
*/
|
|
780
|
+
async describeCertificates(params = {}) {
|
|
781
|
+
if (params.Offset !== undefined && (!Number.isInteger(params.Offset) || params.Offset < 0)) {
|
|
782
|
+
throw new error_1.CloudBaseError('Offset 必须是大于等于 0 的整数');
|
|
783
|
+
}
|
|
784
|
+
if (params.Limit !== undefined &&
|
|
785
|
+
(!Number.isInteger(params.Limit) || params.Limit < 1 || params.Limit > 1000)) {
|
|
786
|
+
throw new error_1.CloudBaseError('Limit 必须是 1 至 1000 的整数');
|
|
787
|
+
}
|
|
788
|
+
return this.certificateCloudService.request('DescribeCertificates', params);
|
|
789
|
+
}
|
|
772
790
|
/**
|
|
773
791
|
* 查询HTTP访问服务域名路由信息
|
|
774
792
|
* @param {DescribeHttpServiceRouteParams} params 查询参数
|
|
@@ -777,6 +795,15 @@ class EnvService {
|
|
|
777
795
|
async describeHttpServiceRoute(params) {
|
|
778
796
|
return this.cloudService.request('DescribeHTTPServiceRoute', Object.assign({}, params));
|
|
779
797
|
}
|
|
798
|
+
/**
|
|
799
|
+
* 校验HTTP访问服务域名路由
|
|
800
|
+
* 此操作为只读预检,不会创建任何资源。
|
|
801
|
+
* @param {VerifyHttpServiceRouteParams} params 校验参数
|
|
802
|
+
* @returns {Promise<VerifyHttpServiceRouteRes>}
|
|
803
|
+
*/
|
|
804
|
+
async verifyHttpServiceRoute(params) {
|
|
805
|
+
return this.cloudService.request('VerifyHTTPServiceRoute', Object.assign({}, params));
|
|
806
|
+
}
|
|
780
807
|
/**
|
|
781
808
|
* 创建HTTP访问服务域名路由
|
|
782
809
|
* @param {CreateHttpServiceRouteParams} params 创建参数
|
package/lib/function/index.js
CHANGED
|
@@ -126,7 +126,9 @@ function formatImageDeploymentErrorMessage(error, imageConfig) {
|
|
|
126
126
|
const isEnterprise = (imageConfig === null || imageConfig === void 0 ? void 0 : imageConfig.imageType) === 'enterprise';
|
|
127
127
|
const isEnterpriseImageNotFound = haystack.includes('resourcenotfound.image') ||
|
|
128
128
|
haystack.includes('describe images enterprise resource not found');
|
|
129
|
-
if (!isEnterprise ||
|
|
129
|
+
if (!isEnterprise ||
|
|
130
|
+
!isEnterpriseImageNotFound ||
|
|
131
|
+
message.includes(exports.ENTERPRISE_IMAGE_REGION_GUIDANCE)) {
|
|
130
132
|
return message;
|
|
131
133
|
}
|
|
132
134
|
return `${message}\n提示:${exports.ENTERPRISE_IMAGE_REGION_GUIDANCE}`;
|
|
@@ -140,25 +142,25 @@ function configToParams(options) {
|
|
|
140
142
|
// key: 小写用于匹配,value: PascalCase 用于输出
|
|
141
143
|
const AUTO_CONVERT_FIELDS = {
|
|
142
144
|
// 基础配置
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
description: 'Description',
|
|
146
|
+
memorysize: 'MemorySize',
|
|
147
|
+
timeout: 'Timeout',
|
|
148
|
+
runtime: 'Runtime',
|
|
149
|
+
type: 'Type', // Event/HTTP
|
|
150
|
+
role: 'Role',
|
|
149
151
|
// 日志配置
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
clslogsetid: 'ClsLogsetId',
|
|
153
|
+
clstopicid: 'ClsTopicId',
|
|
152
154
|
// 高级配置
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
deadletterconfig: 'DeadLetterConfig',
|
|
156
|
+
publicnetconfig: 'PublicNetConfig',
|
|
157
|
+
cfsconfig: 'CfsConfig',
|
|
158
|
+
inittimeout: 'InitTimeout',
|
|
159
|
+
tags: 'Tags',
|
|
158
160
|
// 注意:asyncRunEnable/traceEnable/autoDeployClsTopicIndex/autoCreateClsTopic/dnsCache
|
|
159
161
|
// 需要 'TRUE'/'FALSE' 字符串,在特殊处理阶段处理
|
|
160
|
-
|
|
161
|
-
|
|
162
|
+
protocoltype: 'ProtocolType', // WS
|
|
163
|
+
intranetconfig: 'IntranetConfig'
|
|
162
164
|
};
|
|
163
165
|
let params = Object.assign(Object.assign({}, baseParams), { FunctionName: func.name });
|
|
164
166
|
// 第一阶段:白名单字段自动转换(大小写不敏感,统一输出 PascalCase)
|
|
@@ -184,11 +186,11 @@ function configToParams(options) {
|
|
|
184
186
|
// 3. 需要 'TRUE'/'FALSE' 字符串的布尔字段统一处理(大小写不敏感)
|
|
185
187
|
// key: 小写用于匹配,value: PascalCase 用于输出
|
|
186
188
|
const BOOLEAN_STRING_FIELDS = {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
asyncrunenable: 'AsyncRunEnable', // 异步属性
|
|
190
|
+
traceenable: 'TraceEnable', // 事件追踪
|
|
191
|
+
autodeployclstopicindex: 'AutoDeployClsTopicIndex', // 自动创建 CLS 索引
|
|
192
|
+
autocreateclstopic: 'AutoCreateClsTopic', // 自动创建 CLS 主题
|
|
193
|
+
dnscache: 'DnsCache' // Dns 缓存
|
|
192
194
|
};
|
|
193
195
|
for (const key of Object.keys(func)) {
|
|
194
196
|
const lowerKey = key.toLowerCase();
|
|
@@ -352,7 +354,7 @@ class FunctionService {
|
|
|
352
354
|
// ENABLE_TCBF 开启时,runtime 适配 tcb 风格
|
|
353
355
|
if (this.useTcbFunctionApi) {
|
|
354
356
|
if (!func.runtime) {
|
|
355
|
-
params.Runtime = '
|
|
357
|
+
params.Runtime = 'Nodejs24.14';
|
|
356
358
|
}
|
|
357
359
|
}
|
|
358
360
|
const customCode = code;
|
|
@@ -360,7 +362,9 @@ class FunctionService {
|
|
|
360
362
|
const funcImageCode = (_a = params.Code) === null || _a === void 0 ? void 0 : _a.ImageConfig;
|
|
361
363
|
// 根据部署方式处理 Code 参数
|
|
362
364
|
// 优先级:deployMode=image > 显式传入 code > 原有自动打包逻辑(base64Code/functionPath/functionRootPath)
|
|
363
|
-
const isImageDeploy = deployMode === 'image' ||
|
|
365
|
+
const isImageDeploy = deployMode === 'image' ||
|
|
366
|
+
Boolean(customImageCode) ||
|
|
367
|
+
(!deployMode && Boolean(funcImageCode));
|
|
364
368
|
if (isImageDeploy) {
|
|
365
369
|
// 镜像部署优先使用显式 code.ImageConfig;未传时回退到 func.imageConfig(configToParams 生成)
|
|
366
370
|
if (customImageCode) {
|
|
@@ -580,9 +584,7 @@ class FunctionService {
|
|
|
580
584
|
*/
|
|
581
585
|
async deleteFunction(name) {
|
|
582
586
|
var _a;
|
|
583
|
-
const funcName = typeof name === 'string'
|
|
584
|
-
? name
|
|
585
|
-
: name === null || name === void 0 ? void 0 : name.name;
|
|
587
|
+
const funcName = typeof name === 'string' ? name : name === null || name === void 0 ? void 0 : name.name;
|
|
586
588
|
const { namespace } = this.getFunctionConfig();
|
|
587
589
|
// 检测是否绑定了 API 网关
|
|
588
590
|
const accessService = this.environment.getAccessService();
|
|
@@ -682,50 +684,50 @@ class FunctionService {
|
|
|
682
684
|
return data;
|
|
683
685
|
}
|
|
684
686
|
/**
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
687
|
+
* 获取函数日志
|
|
688
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
689
|
+
* @param {{
|
|
690
|
+
* name: string
|
|
691
|
+
* offset: number
|
|
692
|
+
* limit: number
|
|
693
|
+
* order: string
|
|
694
|
+
* orderBy: string
|
|
695
|
+
* startTime: string
|
|
696
|
+
* endTime: string
|
|
697
|
+
* requestId: string
|
|
698
|
+
* }} options
|
|
699
|
+
* @returns {Promise<IFunctionLogRes>}
|
|
700
|
+
*/
|
|
699
701
|
async getFunctionLogs(_options) {
|
|
700
702
|
throw new error_1.CloudBaseError('getFunctionLogs 已废弃:底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志');
|
|
701
703
|
}
|
|
702
704
|
/**
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
705
|
+
* 获取函数日志 ID 列表
|
|
706
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
707
|
+
* @param {{
|
|
708
|
+
* name: string
|
|
709
|
+
* offset: number
|
|
710
|
+
* limit: number
|
|
711
|
+
* startTime: string
|
|
712
|
+
* endTime: string
|
|
713
|
+
* requestId: string
|
|
714
|
+
* qualifier: string
|
|
715
|
+
* }} options
|
|
716
|
+
* @returns {Promise<IFunctionLogResV2>}
|
|
717
|
+
*/
|
|
716
718
|
async getFunctionLogsV2(_options) {
|
|
717
719
|
throw new error_1.CloudBaseError('getFunctionLogsV2 已废弃:底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志');
|
|
718
720
|
}
|
|
719
721
|
/**
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
722
|
+
* 根据函数日志 ID 查询日志详情
|
|
723
|
+
* @deprecated 底层 GetFunctionLogDetail 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
724
|
+
* @param {{
|
|
725
|
+
* startTime: string
|
|
726
|
+
* endTime: string
|
|
727
|
+
* logRequestId: string
|
|
728
|
+
* }} options
|
|
729
|
+
* @returns {Promise<IFunctionLogDetailRes>}
|
|
730
|
+
*/
|
|
729
731
|
async getFunctionLogDetail(_options) {
|
|
730
732
|
throw new error_1.CloudBaseError('getFunctionLogDetail 已废弃:底层 GetFunctionLogDetail 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志');
|
|
731
733
|
}
|
|
@@ -752,22 +754,22 @@ class FunctionService {
|
|
|
752
754
|
// 注意:Runtime, Handler, Code, Type, ProtocolType 只能在 CreateFunction 时指定
|
|
753
755
|
// key: 小写用于匹配,value: PascalCase 用于输出
|
|
754
756
|
const UPDATE_CONFIG_FIELDS = {
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
757
|
+
description: 'Description',
|
|
758
|
+
memorysize: 'MemorySize',
|
|
759
|
+
timeout: 'Timeout',
|
|
760
|
+
role: 'Role',
|
|
759
761
|
// 日志配置
|
|
760
|
-
|
|
761
|
-
|
|
762
|
+
clslogsetid: 'ClsLogsetId',
|
|
763
|
+
clstopicid: 'ClsTopicId',
|
|
762
764
|
// 高级配置
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
765
|
+
deadletterconfig: 'DeadLetterConfig',
|
|
766
|
+
publicnetconfig: 'PublicNetConfig',
|
|
767
|
+
cfsconfig: 'CfsConfig',
|
|
768
|
+
inittimeout: 'InitTimeout',
|
|
767
769
|
// 注意:asyncRunEnable/traceEnable/autoDeployClsTopicIndex/autoCreateClsTopic
|
|
768
770
|
// 只能在 CreateFunction 时设置,UpdateFunctionConfiguration 不支持
|
|
769
771
|
// 注意:dnsCache 需要 'TRUE'/'FALSE' 字符串,在特殊处理阶段处理
|
|
770
|
-
|
|
772
|
+
intranetconfig: 'IntranetConfig'
|
|
771
773
|
};
|
|
772
774
|
const { TopicId, LogsetId } = this.getClsServiceConfig();
|
|
773
775
|
// 构建参数
|
|
@@ -923,13 +925,14 @@ class FunctionService {
|
|
|
923
925
|
if (func.installDependency !== undefined) {
|
|
924
926
|
installDependency = toBooleanString(func.installDependency);
|
|
925
927
|
}
|
|
926
|
-
const codeParams = customCode ||
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
928
|
+
const codeParams = customCode ||
|
|
929
|
+
(await this.getCodeParams({
|
|
930
|
+
func,
|
|
931
|
+
functionPath,
|
|
932
|
+
functionRootPath,
|
|
933
|
+
base64Code,
|
|
934
|
+
deployMode
|
|
935
|
+
}, installDependency));
|
|
933
936
|
const params = {
|
|
934
937
|
FunctionName: funcName,
|
|
935
938
|
[this.namespaceParamKey]: namespace,
|
|
@@ -1246,10 +1249,14 @@ class FunctionService {
|
|
|
1246
1249
|
const apiParams = {
|
|
1247
1250
|
Namespace: envId,
|
|
1248
1251
|
FunctionName: functionName,
|
|
1249
|
-
Layers: Layers.length > 0
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1252
|
+
Layers: Layers.length > 0
|
|
1253
|
+
? Layers
|
|
1254
|
+
: [
|
|
1255
|
+
{
|
|
1256
|
+
LayerName: '',
|
|
1257
|
+
LayerVersion: 0
|
|
1258
|
+
}
|
|
1259
|
+
]
|
|
1253
1260
|
};
|
|
1254
1261
|
return this.scfService.request('UpdateFunctionConfiguration', apiParams);
|
|
1255
1262
|
}
|
|
@@ -1348,7 +1355,7 @@ class FunctionService {
|
|
|
1348
1355
|
let param = {
|
|
1349
1356
|
Limit: limit,
|
|
1350
1357
|
Offset: offset,
|
|
1351
|
-
SearchKey: searchKey
|
|
1358
|
+
SearchKey: searchKey
|
|
1352
1359
|
// SearchSrc: `TCB_${env}`
|
|
1353
1360
|
};
|
|
1354
1361
|
if (runtime) {
|
|
@@ -1557,7 +1564,7 @@ class FunctionService {
|
|
|
1557
1564
|
Bucket: `${regionPrefix}tempcos-${constant_1.SCF_TEMP_COS.APPID}`,
|
|
1558
1565
|
Key: tempCosObjectName,
|
|
1559
1566
|
Region: region,
|
|
1560
|
-
FilePath: zipFilePath
|
|
1567
|
+
FilePath: zipFilePath
|
|
1561
1568
|
};
|
|
1562
1569
|
const cos = new cos_nodejs_sdk_v5_1.default({
|
|
1563
1570
|
getAuthorization: function (options, callback) {
|
|
@@ -1657,7 +1664,7 @@ class FunctionService {
|
|
|
1657
1664
|
// 直接传入 base64Code 的情况,校验大小
|
|
1658
1665
|
// ZipFile 上传大小上限 1.5MB,base64 编码后长度约为原始大小的 4/3
|
|
1659
1666
|
const MAX_ZIP_SIZE = 1.5 * 1024 * 1024; // 1.5MB
|
|
1660
|
-
const MAX_BASE64_LENGTH = Math.floor(MAX_ZIP_SIZE * 4 / 3); // ≈ 2097152
|
|
1667
|
+
const MAX_BASE64_LENGTH = Math.floor((MAX_ZIP_SIZE * 4) / 3); // ≈ 2097152
|
|
1661
1668
|
if ((base64Code === null || base64Code === void 0 ? void 0 : base64Code.length) > MAX_BASE64_LENGTH) {
|
|
1662
1669
|
throw new error_1.CloudBaseError('ZipFile 上传不能大于 1.5MB,请使用 COS 上传方式');
|
|
1663
1670
|
}
|
|
@@ -1771,10 +1778,10 @@ class FunctionService {
|
|
|
1771
1778
|
// 兜底从 Storages[0] 的 AppId 或 Bucket 名提取
|
|
1772
1779
|
// COS Bucket 格式: {BucketName}-{APPID},APPID 为纯数字
|
|
1773
1780
|
const storage = (_c = envConfig.Storages) === null || _c === void 0 ? void 0 : _c[0];
|
|
1774
|
-
const appId = ((_d = envConfig.UserInfo) === null || _d === void 0 ? void 0 : _d.AppId)
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1781
|
+
const appId = ((_d = envConfig.UserInfo) === null || _d === void 0 ? void 0 : _d.AppId) ||
|
|
1782
|
+
(storage === null || storage === void 0 ? void 0 : storage.AppId) ||
|
|
1783
|
+
((_f = (_e = storage === null || storage === void 0 ? void 0 : storage.Bucket) === null || _e === void 0 ? void 0 : _e.match(/-(\d+)$/)) === null || _f === void 0 ? void 0 : _f[1]) ||
|
|
1784
|
+
'';
|
|
1778
1785
|
const { proxy } = this.environment.cloudBaseContext;
|
|
1779
1786
|
return {
|
|
1780
1787
|
proxy,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/manager-node",
|
|
3
|
-
"version": "5.8.0
|
|
3
|
+
"version": "5.8.0",
|
|
4
4
|
"description": "The node manage service api for cloudbase.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@cloudbase/signature-nodejs": "^1.0.0",
|
|
45
|
-
"@cloudbase/toolbox": "
|
|
45
|
+
"@cloudbase/toolbox": "~0.8.3",
|
|
46
46
|
"@cloudbase/database": "^0.6.2",
|
|
47
47
|
"archiver": "^3.1.1",
|
|
48
48
|
"cos-nodejs-sdk-v5": "^2.14.0",
|
package/types/env/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Environment } from '../environment';
|
|
2
2
|
import { IResponseInfo, AuthDomain, EnvInfo, LoginConfigItem, ICheckTcbServiceRes, ICreatePostpayRes, EnvBillingInfoItem, PriceResult } from '../interfaces';
|
|
3
|
-
import { CalculatePackageCreatePriceParams, CalculatePackageRenewPriceParams, CalculatePackageModifyPriceParams, DescribeHttpServiceRouteParams, DescribeHttpServiceRouteRes, CreateHttpServiceRouteParams, CreateHttpServiceRouteRes, ModifyHttpServiceRouteParams, ModifyHttpServiceRouteRes, DeleteHttpServiceRouteParams, DeleteHttpServiceRouteRes, BindCustomDomainParams, BindCustomDomainRes, DeleteCustomDomainParams, DeleteCustomDomainRes } from './type';
|
|
3
|
+
import { CalculatePackageCreatePriceParams, CalculatePackageRenewPriceParams, CalculatePackageModifyPriceParams, DescribeHttpServiceRouteParams, DescribeHttpServiceRouteRes, VerifyHttpServiceRouteParams, VerifyHttpServiceRouteRes, CreateHttpServiceRouteParams, CreateHttpServiceRouteRes, ModifyHttpServiceRouteParams, ModifyHttpServiceRouteRes, DeleteHttpServiceRouteParams, DeleteHttpServiceRouteRes, BindCustomDomainParams, BindCustomDomainRes, DeleteCustomDomainParams, DeleteCustomDomainRes, DescribeCertificatesParams, DescribeCertificatesRes } from './type';
|
|
4
4
|
import { CreateBillingDealParams, CreateEnvParams, BaasPackageInfo, DescribeBaasPackageListParams, ModifyEnvPlanParams, RenewEnvParams, DestroyEnvParams, DescribeEnvsParams, DescribeEnvInfoParams, DescribeEnvInfoResponse, DescribeEnvAccountCircleParams, DescribeEnvAccountCircleRes, DescribeCreditsUsageDetailParams, EnvPkgCreditsUsage } from '../interfaces/tcb.interface';
|
|
5
5
|
type SOURCE = 'miniapp' | 'qcloud';
|
|
6
6
|
interface IDeleteDomainRes {
|
|
@@ -559,6 +559,7 @@ export declare class EnvService {
|
|
|
559
559
|
private envType?;
|
|
560
560
|
private commonService;
|
|
561
561
|
private billingService;
|
|
562
|
+
private certificateCloudService;
|
|
562
563
|
private tokenCache;
|
|
563
564
|
constructor(environment: Environment);
|
|
564
565
|
/**
|
|
@@ -882,12 +883,27 @@ export declare class EnvService {
|
|
|
882
883
|
Usages: EnvPkgCreditsUsage[];
|
|
883
884
|
RequestId: string;
|
|
884
885
|
}>;
|
|
886
|
+
/**
|
|
887
|
+
* 获取当前凭证有权限访问的 SSL 证书列表。
|
|
888
|
+
*
|
|
889
|
+
* 证书用于自定义域名 HTTPS 配置,本接口不依赖 CloudBase 环境信息。
|
|
890
|
+
* @param {DescribeCertificatesParams} params 查询参数
|
|
891
|
+
* @returns {Promise<DescribeCertificatesRes>}
|
|
892
|
+
*/
|
|
893
|
+
describeCertificates(params?: DescribeCertificatesParams): Promise<DescribeCertificatesRes>;
|
|
885
894
|
/**
|
|
886
895
|
* 查询HTTP访问服务域名路由信息
|
|
887
896
|
* @param {DescribeHttpServiceRouteParams} params 查询参数
|
|
888
897
|
* @returns {Promise<DescribeHttpServiceRouteRes>}
|
|
889
898
|
*/
|
|
890
899
|
describeHttpServiceRoute(params: DescribeHttpServiceRouteParams): Promise<DescribeHttpServiceRouteRes>;
|
|
900
|
+
/**
|
|
901
|
+
* 校验HTTP访问服务域名路由
|
|
902
|
+
* 此操作为只读预检,不会创建任何资源。
|
|
903
|
+
* @param {VerifyHttpServiceRouteParams} params 校验参数
|
|
904
|
+
* @returns {Promise<VerifyHttpServiceRouteRes>}
|
|
905
|
+
*/
|
|
906
|
+
verifyHttpServiceRoute(params: VerifyHttpServiceRouteParams): Promise<VerifyHttpServiceRouteRes>;
|
|
891
907
|
/**
|
|
892
908
|
* 创建HTTP访问服务域名路由
|
|
893
909
|
* @param {CreateHttpServiceRouteParams} params 创建参数
|
package/types/env/type.d.ts
CHANGED
|
@@ -14,6 +14,169 @@ export interface CalculatePackageModifyPriceParams {
|
|
|
14
14
|
envId: string;
|
|
15
15
|
currency?: 'CNY' | 'USD';
|
|
16
16
|
}
|
|
17
|
+
/** 获取 SSL 证书列表请求参数。 */
|
|
18
|
+
export interface DescribeCertificatesParams {
|
|
19
|
+
/** 分页偏移量,从 0 开始。 */
|
|
20
|
+
Offset?: number;
|
|
21
|
+
/** 每页数量,范围为 1 至 1000。 */
|
|
22
|
+
Limit?: number;
|
|
23
|
+
/** 模糊匹配证书 ID、备注名称或证书域名。 */
|
|
24
|
+
SearchKey?: string;
|
|
25
|
+
/** 证书类型:CA 为客户端证书,SVR 为服务器证书。 */
|
|
26
|
+
CertificateType?: 'CA' | 'SVR';
|
|
27
|
+
/** 项目 ID。 */
|
|
28
|
+
ProjectId?: number;
|
|
29
|
+
/** 按证书到期时间排序。 */
|
|
30
|
+
ExpirationSort?: 'ASC' | 'DESC';
|
|
31
|
+
/** 证书状态筛选。 */
|
|
32
|
+
CertificateStatus?: number[];
|
|
33
|
+
/** 是否仅返回可部署证书:1 是,0 否。 */
|
|
34
|
+
Deployable?: 0 | 1;
|
|
35
|
+
/** 是否仅返回上传托管证书:1 是,0 否。 */
|
|
36
|
+
Upload?: 0 | 1;
|
|
37
|
+
/** 是否仅返回可续期证书:1 是,0 否。 */
|
|
38
|
+
Renew?: 0 | 1;
|
|
39
|
+
/** 来源筛选。 */
|
|
40
|
+
FilterSource?: 'upload' | 'buy';
|
|
41
|
+
/** 是否仅返回国密证书:1 是,0 否。 */
|
|
42
|
+
IsSM?: 0 | 1;
|
|
43
|
+
/** 是否仅返回即将过期证书:1 是,0 否。 */
|
|
44
|
+
FilterExpiring?: 0 | 1;
|
|
45
|
+
/** 是否仅返回可托管证书:1 是,0 否。 */
|
|
46
|
+
Hostable?: 0 | 1;
|
|
47
|
+
/** 标签筛选条件。 */
|
|
48
|
+
Tags?: Array<{
|
|
49
|
+
TagKey: string;
|
|
50
|
+
TagValue?: string;
|
|
51
|
+
}>;
|
|
52
|
+
/** 是否仅返回等待签发证书:1 是,0 否。 */
|
|
53
|
+
IsPendingIssue?: 0 | 1;
|
|
54
|
+
/** 指定证书 ID 列表。 */
|
|
55
|
+
CertIds?: string[];
|
|
56
|
+
/** 订阅服务 ID。 */
|
|
57
|
+
ServiceId?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Certificates.CertificateExtra:证书扩展信息。 */
|
|
60
|
+
export interface CertificateExtra {
|
|
61
|
+
DomainNumber: string;
|
|
62
|
+
OriginCertificateId: string | null;
|
|
63
|
+
ReplacedBy: string | null;
|
|
64
|
+
ReplacedFor: string | null;
|
|
65
|
+
RenewOrder: string | null;
|
|
66
|
+
SMCert: number;
|
|
67
|
+
CompanyType: number;
|
|
68
|
+
ServiceRenewCertificateId: string;
|
|
69
|
+
ServiceOriginCertificateId: string;
|
|
70
|
+
}
|
|
71
|
+
/** Certificates.ProjectInfo:项目信息。 */
|
|
72
|
+
export interface ProjectInfo {
|
|
73
|
+
ProjectName: string;
|
|
74
|
+
ProjectCreatorUin: number;
|
|
75
|
+
ProjectCreateTime: string;
|
|
76
|
+
ProjectResume: string;
|
|
77
|
+
OwnerUin: number;
|
|
78
|
+
ProjectId: string;
|
|
79
|
+
}
|
|
80
|
+
/** Certificates.PreAuditInfo:证书预审核信息。 */
|
|
81
|
+
export interface PreAuditInfo {
|
|
82
|
+
TotalPeriod: number;
|
|
83
|
+
NowPeriod: number;
|
|
84
|
+
ManagerId: string;
|
|
85
|
+
}
|
|
86
|
+
/** Certificates.HostingConfig:托管配置。 */
|
|
87
|
+
export interface HostingConfig {
|
|
88
|
+
ReplaceTime?: number;
|
|
89
|
+
MessageTypes?: number[];
|
|
90
|
+
ReplaceStartTime?: string;
|
|
91
|
+
ReplaceEndTime?: string;
|
|
92
|
+
}
|
|
93
|
+
/** Certificates.SupportDownloadType:支持下载的服务器格式。 */
|
|
94
|
+
export interface SupportDownloadType {
|
|
95
|
+
NGINX: boolean;
|
|
96
|
+
APACHE: boolean;
|
|
97
|
+
TOMCAT: boolean;
|
|
98
|
+
IIS: boolean;
|
|
99
|
+
JKS: boolean;
|
|
100
|
+
OTHER: boolean;
|
|
101
|
+
ROOT: boolean;
|
|
102
|
+
}
|
|
103
|
+
/** Certificates.Tags:标签信息。 */
|
|
104
|
+
export interface CertificateTag {
|
|
105
|
+
TagKey: string;
|
|
106
|
+
TagValue: string;
|
|
107
|
+
}
|
|
108
|
+
/** SSL 证书列表项,对应 DescribeCertificates 响应中的 Certificates 元素。 */
|
|
109
|
+
export interface Certificates {
|
|
110
|
+
OwnerUin: string;
|
|
111
|
+
ProjectId: string;
|
|
112
|
+
From: string;
|
|
113
|
+
PackageType: string;
|
|
114
|
+
CertificateType: 'CA' | 'SVR';
|
|
115
|
+
ProductZhName: string;
|
|
116
|
+
Domain: string;
|
|
117
|
+
Alias: string;
|
|
118
|
+
Status: number;
|
|
119
|
+
CertificateExtra: CertificateExtra;
|
|
120
|
+
VulnerabilityStatus: 'INACTIVE' | 'ACTIVE';
|
|
121
|
+
StatusMsg: string;
|
|
122
|
+
VerifyType: 'DNS_AUTO' | 'DNS' | 'FILE' | 'DNS_PROXY' | 'FILE_PROXY';
|
|
123
|
+
CertBeginTime: string;
|
|
124
|
+
CertEndTime: string;
|
|
125
|
+
ValidityPeriod: string;
|
|
126
|
+
InsertTime: string;
|
|
127
|
+
CertificateId: string;
|
|
128
|
+
SubjectAltName: string[];
|
|
129
|
+
PackageTypeName: string;
|
|
130
|
+
StatusName: string;
|
|
131
|
+
IsVip: boolean;
|
|
132
|
+
IsDv: boolean;
|
|
133
|
+
IsWildcard: boolean;
|
|
134
|
+
IsVulnerability: boolean;
|
|
135
|
+
RenewAble: boolean;
|
|
136
|
+
ProjectInfo: ProjectInfo;
|
|
137
|
+
BoundResource: string[];
|
|
138
|
+
Deployable: boolean;
|
|
139
|
+
Tags: CertificateTag[];
|
|
140
|
+
IsIgnore: boolean;
|
|
141
|
+
IsSM: boolean;
|
|
142
|
+
EncryptAlgorithm: string;
|
|
143
|
+
CAEncryptAlgorithms: string[];
|
|
144
|
+
CAEndTimes: string[];
|
|
145
|
+
CACommonNames: string[];
|
|
146
|
+
PreAuditInfo: PreAuditInfo;
|
|
147
|
+
AutoRenewFlag: number;
|
|
148
|
+
HostingStatus: number;
|
|
149
|
+
HostingCompleteTime: string;
|
|
150
|
+
HostingRenewCertId: string;
|
|
151
|
+
HasRenewOrder: string;
|
|
152
|
+
ReplaceOriCertIsDelete: boolean;
|
|
153
|
+
IsExpiring: boolean;
|
|
154
|
+
DVAuthDeadline: string;
|
|
155
|
+
ValidationPassedTime: string;
|
|
156
|
+
CertSANs: string[];
|
|
157
|
+
AwaitingValidationMsg: string;
|
|
158
|
+
AllowDownload: boolean;
|
|
159
|
+
IsDNSPODResolve: boolean;
|
|
160
|
+
IsPackage: boolean;
|
|
161
|
+
KeyPasswordCustomFlag: boolean;
|
|
162
|
+
SupportDownloadType: SupportDownloadType;
|
|
163
|
+
CertRevokedTime: string;
|
|
164
|
+
HostingResourceTypes: string[];
|
|
165
|
+
HostingConfig: HostingConfig | null;
|
|
166
|
+
IsHostingUploadRenewCert: boolean;
|
|
167
|
+
ServiceId: string;
|
|
168
|
+
ServiceStatus: 'initing' | 'running' | 'expired' | 'refunded' | 'nearExpire';
|
|
169
|
+
CertServiceBeginTime: string;
|
|
170
|
+
CertServiceEndTime: string;
|
|
171
|
+
CertServiceShareEnabled: boolean;
|
|
172
|
+
CertServiceValidCertificateCount: number;
|
|
173
|
+
}
|
|
174
|
+
/** 获取 SSL 证书列表响应。 */
|
|
175
|
+
export interface DescribeCertificatesRes {
|
|
176
|
+
TotalCount: number;
|
|
177
|
+
Certificates: Certificates[];
|
|
178
|
+
RequestId: string;
|
|
179
|
+
}
|
|
17
180
|
/**
|
|
18
181
|
* 客户端限频配置
|
|
19
182
|
*/
|
|
@@ -35,18 +198,43 @@ export interface HTTPServicePathRewrite {
|
|
|
35
198
|
StaticStorePrefix?: string;
|
|
36
199
|
Prefix?: string;
|
|
37
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* HTTP 访问服务路由添加 header 配置
|
|
203
|
+
*/
|
|
204
|
+
export interface HTTPServiceHeaderToAdd {
|
|
205
|
+
Key?: string;
|
|
206
|
+
Value?: string;
|
|
207
|
+
Action?: 'APPEND_IF_EXISTS_OR_ADD' | 'ADD_IF_ABSENT' | 'OVERWRITE_IF_EXISTS_OR_ADD' | 'OVERWRITE_IF_EXISTS';
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* HTTP 访问服务路由 headers 处理配置
|
|
211
|
+
*/
|
|
212
|
+
export interface HTTPServiceHeadersHandler {
|
|
213
|
+
RequestHeadersToAdd?: HTTPServiceHeaderToAdd[];
|
|
214
|
+
RequestHeadersToRemove?: string[];
|
|
215
|
+
ResponseHeadersToAdd?: HTTPServiceHeaderToAdd[];
|
|
216
|
+
ResponseHeadersToRemove?: string[];
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* HTTP访问服务路由扩展字段
|
|
220
|
+
*/
|
|
221
|
+
export interface HTTPServiceExtension {
|
|
222
|
+
HeadersHandler?: HTTPServiceHeadersHandler;
|
|
223
|
+
[key: string]: unknown;
|
|
224
|
+
}
|
|
38
225
|
/**
|
|
39
226
|
* HTTP访问服务路由信息
|
|
40
227
|
*/
|
|
41
228
|
export interface HTTPServiceRoute {
|
|
42
229
|
Path: string;
|
|
43
230
|
PathRewrite?: HTTPServicePathRewrite;
|
|
44
|
-
UpstreamResourceType: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH';
|
|
231
|
+
UpstreamResourceType: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH' | 'STORAGE';
|
|
45
232
|
UpstreamResourceName: string;
|
|
46
233
|
EnableSafeDomain: boolean;
|
|
47
234
|
EnableAuth: boolean;
|
|
48
235
|
EnablePathTransmission: boolean;
|
|
49
236
|
QPSPolicy?: HTTPServiceRouteQPSPolicy;
|
|
237
|
+
Extension?: HTTPServiceExtension;
|
|
50
238
|
Enable: boolean;
|
|
51
239
|
CreateTime: string;
|
|
52
240
|
UpdateTime: string;
|
|
@@ -57,7 +245,7 @@ export interface HTTPServiceRoute {
|
|
|
57
245
|
export interface HTTPServiceDomain {
|
|
58
246
|
Domain: string;
|
|
59
247
|
DomainType: 'HTTPSERVICE' | 'CBR' | 'ANYSERVICE' | 'AI_AGENT' | 'VM' | 'INTEGRATION_CALLBACK';
|
|
60
|
-
AccessType: 'DIRECT' | 'CDN' | 'CUSTOM';
|
|
248
|
+
AccessType: 'DIRECT' | 'CDN' | 'CUSTOM' | 'EO';
|
|
61
249
|
CertId: string;
|
|
62
250
|
Protocol: 'HTTP_AND_HTTPS' | 'HTTP_TO_HTTPS' | 'HTTPS_TO_HTTP';
|
|
63
251
|
Cname: string;
|
|
@@ -66,6 +254,7 @@ export interface HTTPServiceDomain {
|
|
|
66
254
|
Status: 'PROCESSING' | 'FAIL' | 'SUCCESS';
|
|
67
255
|
DNSStatus: 'OK' | 'INVALID';
|
|
68
256
|
Routes?: HTTPServiceRoute[];
|
|
257
|
+
Extension?: HTTPServiceExtension;
|
|
69
258
|
CreateTime: string;
|
|
70
259
|
UpdateTime: string;
|
|
71
260
|
}
|
|
@@ -99,13 +288,14 @@ export interface DescribeHttpServiceRouteRes {
|
|
|
99
288
|
*/
|
|
100
289
|
export interface HTTPServiceRouteParam {
|
|
101
290
|
Path: string;
|
|
102
|
-
UpstreamResourceType?: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH';
|
|
291
|
+
UpstreamResourceType?: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH' | 'STORAGE';
|
|
103
292
|
UpstreamResourceName?: string;
|
|
104
293
|
PathRewrite?: HTTPServicePathRewrite;
|
|
105
294
|
EnableSafeDomain?: boolean;
|
|
106
295
|
EnableAuth?: boolean;
|
|
107
296
|
EnablePathTransmission?: boolean;
|
|
108
297
|
QPSPolicy?: HTTPServiceRouteQPSPolicy;
|
|
298
|
+
Extension?: HTTPServiceExtension;
|
|
109
299
|
Enable?: boolean;
|
|
110
300
|
}
|
|
111
301
|
/**
|
|
@@ -119,6 +309,70 @@ export interface HTTPServiceDomainParam {
|
|
|
119
309
|
CustomCname?: string;
|
|
120
310
|
Enable?: boolean;
|
|
121
311
|
Routes?: HTTPServiceRouteParam[];
|
|
312
|
+
Extension?: HTTPServiceExtension;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* 前置校验检查状态
|
|
316
|
+
*/
|
|
317
|
+
export type VerifyHttpServiceRouteCheckStatus = 'PASS' | 'SKIPPED' | 'FAIL';
|
|
318
|
+
/**
|
|
319
|
+
* 前置校验失败原因
|
|
320
|
+
*/
|
|
321
|
+
export type VerifyHttpServiceRouteCheckCode = 'INTERNAL_CHECK_ERROR' | 'OWNERSHIP_DNS_LOOKUP_FAILED' | 'OWNERSHIP_VERIFY_FAILED' | 'CERT_VERIFY_FAILED' | 'QUOTA_EXCEEDED' | 'ROUTE_CONFLICT' | 'DOMAIN_IN_USE' | 'NON_INTERNAL_ACCOUNT' | 'DOMAIN_IN_BLACKLIST' | 'CDN_RESOURCE_PROCESSING' | 'CDN_RESOURCE_OFFLINE' | 'EO_OWNERSHIP_VERIFY_FAILED' | 'EO_DOMAIN_NOT_ICP' | 'EO_DOMAIN_IN_USE';
|
|
322
|
+
/**
|
|
323
|
+
* 域名归属权 DNS 验证指引
|
|
324
|
+
*/
|
|
325
|
+
export interface OwnershipVerificationDnsInfo {
|
|
326
|
+
Subdomain?: string;
|
|
327
|
+
RecordType?: string;
|
|
328
|
+
RecordValue?: string;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* 域名归属权文件验证指引
|
|
332
|
+
*/
|
|
333
|
+
export interface OwnershipVerificationFileInfo {
|
|
334
|
+
Path?: string;
|
|
335
|
+
Content?: string;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* 域名归属权验证指引
|
|
339
|
+
*/
|
|
340
|
+
export interface OwnershipVerificationInfo {
|
|
341
|
+
Domain?: string;
|
|
342
|
+
DnsVerification?: OwnershipVerificationDnsInfo[];
|
|
343
|
+
FileVerification?: OwnershipVerificationFileInfo[];
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* VerifyHTTPServiceRoute 单项前置校验结果
|
|
347
|
+
*/
|
|
348
|
+
export interface VerifyHttpServiceRouteCheckItem {
|
|
349
|
+
Status: VerifyHttpServiceRouteCheckStatus;
|
|
350
|
+
Code?: VerifyHttpServiceRouteCheckCode;
|
|
351
|
+
Message?: string;
|
|
352
|
+
OwnershipVerification?: OwnershipVerificationInfo;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* VerifyHTTPServiceRoute 请求参数
|
|
356
|
+
*/
|
|
357
|
+
export interface VerifyHttpServiceRouteParams {
|
|
358
|
+
EnvId: string;
|
|
359
|
+
Domain: HTTPServiceDomainParam;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* VerifyHTTPServiceRoute 返回结果
|
|
363
|
+
*/
|
|
364
|
+
export interface VerifyHttpServiceRouteRes {
|
|
365
|
+
Passed: boolean;
|
|
366
|
+
Ownership: VerifyHttpServiceRouteCheckItem;
|
|
367
|
+
Cert: VerifyHttpServiceRouteCheckItem;
|
|
368
|
+
Quota: VerifyHttpServiceRouteCheckItem;
|
|
369
|
+
RouteConflict: VerifyHttpServiceRouteCheckItem;
|
|
370
|
+
DomainConflict: VerifyHttpServiceRouteCheckItem;
|
|
371
|
+
InternalAccount: VerifyHttpServiceRouteCheckItem;
|
|
372
|
+
Blacklist: VerifyHttpServiceRouteCheckItem;
|
|
373
|
+
CDNResource: VerifyHttpServiceRouteCheckItem;
|
|
374
|
+
EO: VerifyHttpServiceRouteCheckItem;
|
|
375
|
+
RequestId: string;
|
|
122
376
|
}
|
|
123
377
|
/**
|
|
124
378
|
* CreateHTTPServiceRoute 请求参数
|
|
@@ -317,46 +317,46 @@ export declare class FunctionService {
|
|
|
317
317
|
codeSecret: any;
|
|
318
318
|
}): Promise<IFunctionInfo[]>;
|
|
319
319
|
/**
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
320
|
+
* 获取函数日志
|
|
321
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
322
|
+
* @param {{
|
|
323
|
+
* name: string
|
|
324
|
+
* offset: number
|
|
325
|
+
* limit: number
|
|
326
|
+
* order: string
|
|
327
|
+
* orderBy: string
|
|
328
|
+
* startTime: string
|
|
329
|
+
* endTime: string
|
|
330
|
+
* requestId: string
|
|
331
|
+
* }} options
|
|
332
|
+
* @returns {Promise<IFunctionLogRes>}
|
|
333
|
+
*/
|
|
334
334
|
getFunctionLogs(_options: IFunctionLogOptions): Promise<IFunctionLogRes>;
|
|
335
335
|
/**
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
336
|
+
* 获取函数日志 ID 列表
|
|
337
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
338
|
+
* @param {{
|
|
339
|
+
* name: string
|
|
340
|
+
* offset: number
|
|
341
|
+
* limit: number
|
|
342
|
+
* startTime: string
|
|
343
|
+
* endTime: string
|
|
344
|
+
* requestId: string
|
|
345
|
+
* qualifier: string
|
|
346
|
+
* }} options
|
|
347
|
+
* @returns {Promise<IFunctionLogResV2>}
|
|
348
|
+
*/
|
|
349
349
|
getFunctionLogsV2(_options: IFunctionLogOptionsV2): Promise<IFunctionLogResV2>;
|
|
350
350
|
/**
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
351
|
+
* 根据函数日志 ID 查询日志详情
|
|
352
|
+
* @deprecated 底层 GetFunctionLogDetail 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
353
|
+
* @param {{
|
|
354
|
+
* startTime: string
|
|
355
|
+
* endTime: string
|
|
356
|
+
* logRequestId: string
|
|
357
|
+
* }} options
|
|
358
|
+
* @returns {Promise<IFunctionLogDetailRes>}
|
|
359
|
+
*/
|
|
360
360
|
getFunctionLogDetail(_options: IFunctionLogDetailOptions): Promise<IFunctionLogDetailRes>;
|
|
361
361
|
/**
|
|
362
362
|
* 获取函数的完整调用日志
|