2017-12-21 3 views
1

Ich benutze serverless und https://github.com/horike37/serverless-step-functions, um zu versuchen, ein System zu implementieren, das von einem Benutzer getroffen wird, gibt HTML basierend auf einem Datenbankeintrag für die bereitgestellten Parameter zurück und wechselt dann zu einer zweiten Funktion, die in die Datenbank schreibt (ohne den Benutzer zu zwingen warten).Wie rendert HTML den Benutzer eines Step-Function-Endpunkts?

Ich denke, eine Schrittfunktion in der richtigen Ansatz, aber ich kann nicht scheinen, um es HTML zurückzugeben - es gibt immer einen JSON-Körper mit den und startDate zurück. z.B.

{ 
    "executionArn": "arn:aws:states:us-west-2:.......etc...", 
    "startDate": 1513831673.779 
} 

Ist es möglich, meine HTML-Körper zurückgeben? Im Moment gibt meine Lambda-Funktion einen einfachen h1 tag:

'use strict'; 

module.exports.requestHandler = (event, context, callback) => { 
    const response = { 
    statusCode: 200, 
    headers: { 
     'Content-Type': 'text/html' 
    }, 
    body: `<h1>Success!</h1>`, 
    }; 

    callback(null, response); 
}; 

Dies ist die Zustandsmaschine zu schaffen, ich bin mit dem Ziel.

enter image description here

Antwort

0

ich für eine gehen würde vorschlagen, reagieren/Winkel/vue Frontend zum Beispiel gehostet auf S3/CDN, das Serverless nur für Back-End-Abfragen verwendet, anstatt dynamisches HTML über Lambdas zu rendern. Der "Standard" -Ansatz ermöglicht es Ihnen, Apps zu erstellen, die viel reaktionsfähiger sind und von z. CDNs.

Siehe z.B. https://www.slideshare.net/mitocgroup/serverless-microservices-real-life-story-of-a-web-app-that-uses-angularjs-aws-lambda-and-more oder https://serverless-stack.com/

+0

Danke. Schätze den Vorschlag, passt aber nicht ganz, da das System eigentlich das Backend eines Linkverkürzers ist. –

+0

Haben Sie in Erwägung gezogen, stattdessen AWS Lambda zu verwenden, da Sie HTML zurückgeben können, während Sie eine Nachricht in SNS schreiben können, um writ für die db getrennt vom Hauptverkürzungs-Thread zu behandeln? –

Verwandte Themen