@@ -47,6 +47,12 @@ export default class ProvisionConfig extends Base {
4747
4848 if ( ! _ . isEmpty ( localConfig ) ) {
4949 if ( this . needDeploy ) {
50+ const defaultArrayProps = [ 'targetTrackingPolicies' , 'scheduledActions' ] ;
51+ for ( const prop of defaultArrayProps ) {
52+ if ( ! Array . isArray ( localConfig [ prop ] ) ) {
53+ localConfig [ prop ] = [ ] ;
54+ }
55+ }
5056 await provisionConfigErrorRetry (
5157 this . fcSdk ,
5258 'ProvisionConfig' ,
@@ -88,8 +94,8 @@ export default class ProvisionConfig extends Base {
8894 `Waiting for provisionConfig of ${ this . functionName } /${ qualifier } to instance up ...` ,
8995 ) ;
9096
91- const { defaultTarget, target } = config ;
92- const realTarget = defaultTarget || target ;
97+ const { defaultTarget, target : configTarget } = config ;
98+ const realTarget = defaultTarget || configTarget ;
9399
94100 // 如果没有目标值或目标值为0,则无需等待
95101 if ( ! realTarget || realTarget <= 0 ) {
@@ -108,12 +114,12 @@ export default class ProvisionConfig extends Base {
108114 for ( let index = 0 ; index < maxRetries ; index ++ ) {
109115 // eslint-disable-next-line no-await-in-loop
110116 const result = await this . fcSdk . getFunctionProvisionConfig ( this . functionName , qualifier ) ;
111- const { current, currentError } = result || { } ;
117+ const { current, currentError, target : remoteTarget } = result || { } ;
112118
113119 // 检查是否已达到目标值
114- if ( current === undefined || ( current && current === realTarget ) ) {
120+ if ( current === undefined || current === remoteTarget ) {
115121 logger . info (
116- `ProvisionConfig of ${ this . functionName } /${ qualifier } is ready. Current: ${ current } , Target: ${ realTarget } ` ,
122+ `ProvisionConfig of ${ this . functionName } /${ qualifier } is ready. Current: ${ current } , Target: ${ remoteTarget } ` ,
117123 ) ;
118124 return ;
119125 }
0 commit comments