-1
私は自分のスナップショットでEC2インスタンスをバックアップする目的でラムダ関数を作成しています。しかし、私はecotodescribe_instancesへの呼び出しがMaxResults/NextTokenでレート制限されていることをbotoのドキュメントを読むことに気付きました。一度にリスト50を安全に反復するために、これらの2つをどのように組み合わせることができますか?私が正しくまたは効率的にここMaxResults /は、NextTokenパラメータを使用している場合、私は本当にわからないんだけどEC2の処理レート制限Boto3 Lambda?
import boto3
import datetime
import time
ec2 = boto3.client('ec2')
def lambda_handler(event, context):
try:
print("Creating snapshots on " + str(datetime.datetime.today()) + ".")
maxResults = 50
schedulers = ec2.describe_instances(Filters=[{'Name':'tag:GL-sub-purpose', 'Values':[Schedule]}], MaxResults=maxResults)
nextToken = schedulers['NextToken']
totalSchedulers = len(schedulers)
while totalSchedulers == maxResults:
schedulers = ec2.describe_instances(Filters=[{'Name':'tag:GL-sub-purpose', 'Values':[Schedule]}], MaxResults=maxResults, NextToken=nextToken)
nextToken = result['NextToken']
totalSchedulers = len(schedulers)
print("Performing backup on " + str(len(schedulers)) + " schedules.")
successful = []
failed = []
for s in schedulers:
#[...] More operations here, done 50 at a time.
:以下は、進行中の私の仕事です。これは私の望む結果を達成するための最良の方法ですか、私は正しい道ですか?