Ich habe eine Website (statische Sitzung in s3), Inhalt wird von s3 serviert. Ich plane, eine Ruhe-API (Knoten oder offen für Vorschläge) zu schreiben. Wenn das Frontend eckigen $ http-Aufruf macht, Beispiel, wenn meine Site example.com heißt, dann sollte der Aufruf etwas wie relative URL (/ Update) sein, die aufgelöst werden soll.Welcher AWS-Dienst wird zum Bereitstellen des Back-Ends verwendet?
Ich bin mir nicht sicher, welche Art von aws-Dienst ich verwenden sollte, um meinen Backend-Code zu implementieren.
Aktualisiert
ich Codestar verwende, Express Web-Service. Hier ist meine Vorlage.yml. und Routen. Der Code-Star-Build funktioniert problemlos, die Bereitstellung schlägt jedoch fehl.
template.yml
AWSTemplateFormatVersion: 2010-09-09
Transform:
- AWS::Serverless-2016-10-31
- AWS::CodeStar
Parameters:
ProjectId:
Type: String
Description: AWS CodeStar projectID used to associate new resources to team members
Resources:
HelloWorld:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs4.3
Role:
Fn::ImportValue:
!Join ['-', [!Ref 'ProjectId', !Ref 'AWS::Region', 'LambdaTrustRole']]
Events:
GetEvent:
Type: Api
Properties:
Path:/
Method: get
PostEvent:
Type: Api
Properties:
Path:/
Method: post
GetItemsBylId:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs4.3
Role:
Fn::ImportValue:
!Join ['-', [!Ref 'ProjectId', !Ref 'AWS::Region', 'LambdaTrustRole']]
Events:
GetEvent:
Type: Api
Properties:
Path: /api/getItemsBylId/:id
Method: get
Hier ist meine app.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send({
"Output": "Hello World!"
});
});
app.get('/api/GetItemsBylId/:id', function (req, res) {
res.send({
"Output": "I am up!"
});
});
Hier ist der Fehler von der Entwicklung bei GetItemsBylId
Failed to set tags on AWS::Lambda::Function. IAM permissions lambda:ListTags, lambda:TagResource and lambda:UntagResource are required to tag AWS::Lambda::Function resources and to propagate stack level tags.
Ich bin mir ziemlich sicher, dass es wegen der ID param ist.
aktualisieren
löste das Tag-Ausgabe Abfrage params verwenden. Anstatt resouce: id zu verwenden, verwende ich jetzt? Id = "".
Sie haben das API-Gateway in Betracht gezogen – Henry
Sie implementieren den Back-End-Code nicht auf dem API-Gateway. Es wird verwendet, um Backend-Code mit URL-Endpunkten zu verbinden. –