Skip to content

Commit c5df070

Browse files
author
brycewwang
committed
fix: test aaaa
1 parent c1d7068 commit c5df070

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

Diff for: src/modules/scf/constants.ts

-11
Original file line numberDiff line numberDiff line change
@@ -1,12 +1 @@
11
export const WebServerImageDefaultPort = 9000;
2-
3-
export enum VersionOperation {
4-
Publish = 'publish',
5-
Delete = 'delete',
6-
}
7-
8-
export enum AliasOperation {
9-
Create = 'create',
10-
Update = 'update',
11-
Delete = 'delete',
12-
}

Diff for: src/modules/scf/index.ts

+24-8
Original file line numberDiff line numberDiff line change
@@ -293,13 +293,6 @@ export default class Scf {
293293
'aliasFunctionVersion is required when aliasName is setted',
294294
);
295295
}
296-
} else {
297-
if (inputs?.additionalVersionWeights || inputs?.aliasFunctionVersion) {
298-
throw new ApiTypeError(
299-
'PARAMETER_SCF',
300-
'aliasName is required when additionalVersionWeights or aliasFunctionVersion is setted',
301-
);
302-
}
303296
}
304297

305298
// 在部署前,检查函数初始状态,如果初始为 CreateFailed,尝试先删除,再重新创建
@@ -333,6 +326,11 @@ export default class Scf {
333326
namespace,
334327
description: inputs.publishDescription,
335328
});
329+
330+
if (inputs.aliasName) {
331+
inputs.aliasFunctionVersion = FunctionVersion;
332+
}
333+
336334
inputs.lastVersion = FunctionVersion;
337335
outputs.LastVersion = FunctionVersion;
338336

@@ -344,8 +342,8 @@ export default class Scf {
344342
}
345343

346344
// 检测配置的别名是否存在,不存在就创建,存在的话就设置流量
347-
let needCreateAlias = false;
348345
if (inputs.aliasName) {
346+
let needCreateAlias = false;
349347
if (inputs.aliasName !== '$DEFAULT') {
350348
try {
351349
const aliasInfo = await this.alias.get({
@@ -393,6 +391,24 @@ export default class Scf {
393391
const errorType = needCreateAlias ? 'CREATE_ALIAS_SCF' : 'UPDATE_ALIAS_SCF';
394392
throw new ApiTypeError(errorType, error.message);
395393
}
394+
} else {
395+
// 兼容旧逻辑,即给默认版本$LATEST设置traffic比例的流量,给lastVersion版本设置(1-traffic)比例的流量。
396+
const needSetTraffic =
397+
inputs.traffic != null && inputs.lastVersion && inputs.lastVersion !== '$LATEST';
398+
if (needSetTraffic) {
399+
await this.alias.update({
400+
namespace,
401+
functionName,
402+
region: this.region,
403+
additionalVersions: needSetTraffic
404+
? [{ weight: strip(1 - inputs.traffic!), version: inputs.lastVersion! }]
405+
: [],
406+
aliasName: inputs.aliasName,
407+
description: inputs.aliasDescription,
408+
});
409+
outputs.Traffic = inputs.traffic;
410+
outputs.ConfigTrafficVersion = inputs.lastVersion;
411+
}
396412
}
397413

398414
// get default alias

0 commit comments

Comments
 (0)