Mam problem z AWS Lambda, w którym moje obrazy o zmienionym rozmiarze są uszkodzone co kilka przesłanych plików. Napisałem skrypt, który ściąga z S3 i zmienia rozmiar na 3 rozmiary w inne, najczęściej z strumieniami plików. Oto kod:AWS Obraz Lambda jest uszkodzony
można zobaczyć w powiększeniu 512px powiększone plik (zmienionym) wraz z oryginałem (200px)
I kolejna zmiana rozmiaru do 120 pikseli
Moje zużycie lambda wygląda w pełni w porządku w przeważającej części. Jest ustawiony w tym samym regionie z pamięcią 768 MB i limitem czasu 20 sekund. Skrypty są wykonywane przez około 2 sekundy przy użyciu 90/768 MB dla małych obrazów (na przykład o szerokości 500 pikseli) lub 14 sekund przy 648/768 MB na znacznie większych obrazach, na przykład o szerokości 2000 pikseli. Ale nawet dla małego obrazu, zmiana rozmiaru na mnie umiera. Jeśli zrezygnuję z strumieni plików i po prostu piszę do bufora (podobnie jak aws example), przetwarzanie obrazu zakończy się bufora bufora, a lambda zużyje zbyt wiele zasobów.
Wszelkie wskazówki są mile widziane!
Chociaż przyznaję, że nie jestem biegły w tym co tu robisz, zauważam, że w pewnym momencie nazywasz async.waterfall [... ... .. funkcja transform (next) .... .. ... .. .. Widząc podświetlanie kolorów w tej sekcji, nie jestem całkiem pewien, czy ten fragment kodu działa zgodnie z oczekiwaniami. – Uvar
@Uvar możesz wyjaśnić, co masz na myśli przez podświetlanie kolorów? – Handonam