1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
APIGatewayからLambda(Python)を使用してCSVのアップロードとダウンロード機能を実装する際、以下のような制約事項があります:
-
文字コード: 特に文字コードに関する直接的な制限はありませんが、一般的にはUTF-8を使用することが推奨されます。Pythonは様々な文字コードを扱えますが、UTF-8が最も広く使用されており、互換性が高いです。
-
データ上限: Lambda関数のペイロードサイズには制限があります。リクエストとレスポンスの両方で6MBが上限となります。大きなCSVファイルを扱う場合は、この制限に注意が必要です。6MB以上のファイルを扱う場合は、S3を経由するなど別の方法を検討する必要があります。
-
環境の制約:
- Lambda関数の実行時間は最大900秒(15分)です。大きなファイルの処理には注意が必要です。
- Lambda関数のメモリ割り当ては128MB〜10,240MBの範囲で設定可能です。
- Lambda関数のディスク容量(/tmp)は512MBに制限されています。
その他の制約事項:
- Lambda関数の同時実行数に制限があります(デフォルトで1000)。
- API Gatewayのタイムアウトは29秒です。長時間の処理が必要な場合は非同期処理を検討する必要があります。
- CSVファイルの解析や生成にはメモリを消費するため、大きなファイルを扱う場合はメモリ設定に注意が必要です。
- セキュリティ面では、入力データのバリデーションが重要です。悪意のあるデータが含まれていないか確認する必要があります。
これらの制約を考慮しながら、適切な設計と実装を行うことが重要です。大規模なデータ処理が必要な場合は、S3やAthenaなどの他のAWSサービスとの組み合わせを検討することも有効です。
Sources
invoke - Boto3 1.37.32 documentation
REST API - Powertools for AWS Lambda (Python)
aws-apigateway-lambda - AWS Solutions Constructs
回答済み 7ヶ月前
