11const { scf, cam } = require ( 'tencent-cloud-sdk' ) ;
22const { sleep } = require ( '@ygkit/request' ) ;
33const { TypeError } = require ( '../../utils/error' ) ;
4+ const { strip } = require ( '../../utils' ) ;
45const TagsUtils = require ( '../tag/index' ) ;
56const ApigwUtils = require ( '../apigw/index' ) ;
67const { formatTrigger, formatFunctionInputs } = require ( './utils' ) ;
@@ -345,6 +346,7 @@ class Scf {
345346 }
346347
347348 async publishVersionAndConfigTraffic ( inputs ) {
349+ const weight = strip ( 1 - inputs . traffic ) ;
348350 const publishInputs = {
349351 Action : 'CreateAlias' ,
350352 Version : '2018-04-16' ,
@@ -354,7 +356,7 @@ class Scf {
354356 Name : inputs . aliasName ,
355357 Namespace : inputs . namespace || 'default' ,
356358 RoutingConfig : {
357- AdditionalVersionWeights : [ { Version : inputs . functionVersion , Weight : 1 - inputs . traffic } ] ,
359+ AdditionalVersionWeights : [ { Version : inputs . functionVersion , Weight : weight } ] ,
358360 } ,
359361 Description : inputs . description || 'Published by Serverless Component' ,
360362 } ;
@@ -371,10 +373,9 @@ class Scf {
371373 }
372374
373375 async updateAliasTraffic ( inputs ) {
376+ const weight = strip ( 1 - inputs . traffic ) ;
374377 console . log (
375- `Config function ${ inputs . functionName } traffic ${ 1 - inputs . traffic } for version ${
376- inputs . lastVersion
377- } ...`,
378+ `Config function ${ inputs . functionName } traffic ${ weight } for version ${ inputs . lastVersion } ...` ,
378379 ) ;
379380 const publishInputs = {
380381 Action : 'UpdateAlias' ,
@@ -385,7 +386,7 @@ class Scf {
385386 Name : inputs . aliasName || '$DEFAULT' ,
386387 Namespace : inputs . namespace || 'default' ,
387388 RoutingConfig : {
388- AdditionalVersionWeights : [ { Version : inputs . lastVersion , Weight : 1 - inputs . traffic } ] ,
389+ AdditionalVersionWeights : [ { Version : inputs . lastVersion , Weight : weight } ] ,
389390 } ,
390391 Description : inputs . description || 'Configured by Serverless Component' ,
391392 } ;
@@ -399,9 +400,7 @@ class Scf {
399400 ) ;
400401 }
401402 console . log (
402- `Config function ${ inputs . functionName } traffic ${ 1 - inputs . traffic } for version ${
403- inputs . lastVersion
404- } success`,
403+ `Config function ${ inputs . functionName } traffic ${ weight } for version ${ inputs . lastVersion } success` ,
405404 ) ;
406405 return res . Response ;
407406 }
@@ -517,7 +516,7 @@ class Scf {
517516 } ) ;
518517 outputs . LastVersion = lastVersion ;
519518 outputs . ConfigTrafficVersion = lastVersion ;
520- outputs . Traffic = 1 - weightSum ;
519+ outputs . Traffic = strip ( 1 - weightSum ) ;
521520 }
522521 } catch ( e ) {
523522 // no op
0 commit comments