したがって、トリガされたときにSNSトピックを送信できるCloudwatchルールがあります。今、CloudWatchルールがトリガされたときにEC2インスタンスのセキュリティグループを変更するラムダ関数を設定しています。私はLambdaでPythonを使用していますが、私のコードはモジュールのエラーを生成しています。難しい部分は、私が雲のデータを取得して変数として渡そうとしていることです。イベント変数はこの構文になります イベント['detail'] ['resource'] ['instanceDetails'] ['instanceId'] 私のPythonコードでは、このように見えます... 私は非常にPythonとラムダに新しいですが、私はできるだけ多くのことを学ぼうとしています。ご覧のとおり、このイベント変数を使用して、SDKを使用して適切なModifyInstanceAttributeを実行して、インスタンスに関連付けられたセキュリティグループ(たとえば、Python)を変更しようとしています。 このコードは、 http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.modify_instance_attributeこれまでに以下の私のコード...私が取得AWS Cloudwatchデータ入力を使用したPythonラムダコード
import boto3
client = boto3.client('ec2')
response =
client.modify_instance_attribute(InstanceId=event['detail']. ['resource']['instanceDetails']['instanceId'],
Groups=['sg-4e499332',]
)
エラーは、このモジュールの初期化エラーです
:名前「イベント」が定義されていない
私はさらに進化してこれを実現させましたが、正確なインスタンスIDを実際に定義する必要があります。 Cloudwatchルールに一致するインスタンスが複数ある場合は、セキュリティグループも変更する必要があります。ラムダスクリプトの変数としてイベントデータを解析する上での助け? – jonb157