私はLambda Node.jsコードのASG名をハードコードするときに機能する自動縮約グループの "Terminate"プロセスを中断するためにLambda関数を作成しました。私は、CloudFormationテンプレートで「ASGName」カスタムリソースプロパティ(下記参照)からASG名をプルする必要があります。Node.js Lambda関数からCloudFormation変数を参照する
SuspendProcess:
Type: Custom::SuspendProcess
Properties:
ServiceToken: arn:aws:lambda:eu-west-1:############:function:TestFunction
Region: !Ref AWS::Region
ASGName: !Ref ASG
DependsOn: "ASG"
私はCloudFormation「ASGNameからASG名を引っ張るためにNode.jsのが機能伝えるにはどうすればよいです"上記のプロパティ?
これはNode.jsの機能コードである:
var AWS = require('aws-sdk');
var uuid = require('uuid');
AWS.config.update({ region: 'eu-west-1' });
exports.handler = (event, context, callback) => {
AWS.config.apiVersions = {
autoscaling: '2011-01-01',
};
var autoscaling = new AWS.AutoScaling();
var ASGName = parseInt(event.ResourceProperties.ASGName);
/* This suspends the specified scaling process for the specified Auto
Scaling group. */
var params = {
AutoScalingGroupName: "ASGName",
ScalingProcesses: [
"Terminate"
]
};
autoscaling.suspendProcesses(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
};
I次いでAutoscalingGroupNameとしてこれを参照CloudFormationプロパティを指すように可変= ASGNameを作成する試みました。私はここで構文が正しくないことを知っています。私は多くの例を見てきましたが、どれもうまくいきません。
任意の助けをいただければ幸いですので、私はNode.jsのに新たなんです!
おかげ
感謝。私はそれ以来、現在動作しているコードを書き直しました。次の構文を使用して値を取得しました。var ASGName(event.ResourceProperties.ASGName); – sharksdev