Simple Log Serviceのすべてのシャードは、新しいデータが書き込まれると機能をトリガーします。 したがって、トリガー頻度には、Logstoreが全体としてトリガーされた回数が含まれます。 また、トリガが遅延すると、データのキャッチアップが発生し、トリガのトリガ間隔が短くなる可能性がある。
問題の説明
Simple Log Serviceトリガーの実行頻度が、予想されるトリガー頻度よりも高い場合があります。
考えられる原因
関数はシャードごとに個別に呼び出されます。 Logstore内のシャードに対して関数が呼び出される回数が多い場合でも、各シャードに対して関数が呼び出される間隔は、指定された呼び出し間隔と一致する可能性があります。
関数がシャードに対して呼び出される呼び出し間隔は、データ変換に指定された時間間隔と同じです。 関数が呼び出されると、レイテンシが存在する可能性があります。 これにより、コール間隔が予想よりも大きくなる可能性があります。 次のリストでは、指定された呼び出し間隔が60秒の2つのシナリオについて説明します。
シナリオ1: 関数が呼び出され、レイテンシが存在しません。 この関数は60秒間隔で呼び出され、
[now -60s, now)
の時間範囲で生成されたデータを変換します。説明関数はシャードごとに個別に呼び出されます。 Logstoreに10個のシャードが含まれ、関数の呼び出し時にレイテンシが存在しない場合、関数は60秒間隔で10回呼び出され、データをリアルタイムで変換します。
シナリオ2: 関数が呼び出され、レイテンシが存在します。 Simple Log Serviceシャード内のデータが変換された時点と、最新のデータがSimple Log Serviceに書き込まれた時点との時間差が10秒を超えています。 この場合、トリガーは通話間隔を短くします。 たとえば、関数を2秒間隔で呼び出して、60秒以内に生成されたデータを変換できます。