Graphicsmagick funktioniert nicht in Elastic Beanstalk mit nodejs und S3

Ich verwende nodejs und graphicsmagick, um Bilder mit Text zu verarbeiten, und streame dann das endgültige JPG an S3.

Mit dem Postboten konnte ich diesen Fluss auf meinem localhost testen und alles funktioniert einwandfrei. Allerdings habe ich jetzt Probleme, da ich es auf Elastic Beanstalk verschoben habe. Beim Posten auf dem Endpunkt wird eine leere Datei in S3 hochgeladen, und in EB sind keine Fehler protokolliert. Ich denke, es hat etwas mit der Software zu tun, aber ich stecke ein bisschen fest. Jeder möglicher Rat geschätzt! Vielen Dank

Top-Datei stammt von localhost, Bottom-Datei stammt von Elastic Beanstalk: http: //cl.ly/image/0O231k171N0

var gm              = require('gm');
var appRoot         = require('app-root-path').path;

function createImage(caption, res) {
    var originalImage   = '/images/2015-02-24.jpg';
    var textColor       = 'white';

    gm(appRoot + originalImage)
        .fill(textColor)
        .font( appRoot + '/fonts/BentonSans-Book.otf')
        .drawText(0, 0, caption, 'Center')
        .stream(function(err, stdout, stderr) {
            sendToS3(err, stdout, stderr, originalImage, res);
        });
}

function sendToS3(err, stdout, stderr, originalImage, client_response) {
    var imageName       = shortId.generate();
    var buff            = new Buffer('');

    stdout.on('data', function(data) {
        buff = Buffer.concat([buff, data]);
    });

    stdout.on('end', function(data) {
        var data = {
            Bucket: S3_bucket,
            Key: imageName + '.jpg',
            Body: buff,
            ContentType: mime.lookup(originalImage)
        };

        s3.putObject(data, function(err, res) {
            client_response.send('done');
        });
    });
}

============================================= ==============

BEARBEITEN Anstatt auf S3 zu streamen, habe ich es so geändert, dass es direkt in das Dateisystem schreibt. Der in AWS EB-Protokollen ausgelöste Fehler lautet:

err { [Error: Command failed: gm convert: Request did not return an 
image.] code: 1, signal: null }

Ich glaube, ich vermisse einige Abhängigkeiten für ImageMagick. Irgendwelche Gedanken?

Dies ist vom Laufenconvert --version in meinem lokalen Terminal:

Version: ImageMagick 6.8.9-7 Q16 x86_64 2014-08-31
http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates: bzlib freetype jng jpeg ltdl lzma png xml zlib

Dies ist vom Laufenconvert --version in meiner EC2-Instanz (Der Abschnitt "Delegates" ist leer):

Version: ImageMagick 6.9.1-1 Q16 x86_64 2015-04-10
http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: DPC OpenMP
Delegates (built-in): 

Antworten auf die Frage(2)

Ihre Antwort auf die Frage