Bei Verwendung von Variablen in der VPC-Definition in serverless.yml wie:
vpc:
securityGroupIds:
- $ { self: custom.prod_sg_a }
- $ { self: custom.prod_sg_b }
Subnetz-IDs:
- $ { self: custom.prod_subnet_a }
- $ { self: custom.prod_subnet_b }
serverless löst bei der Bereitstellung den folgenden Fehler aus:
Serverlos: Bereitstellung fehlgeschlagen!
Serverloser Fehler ---------------------------------------
An error occurred while provisioning your stack: LambdaFunction
- Value of property SecurityGroupIds must be of type
List of String.
Hole dir Unterstützung --------------------------------------------
Dokumente: docs.serverless.com
Fehler: github.com/serverless/serverless/issues
Ihre Umgebungsinformationen -----------------------------
OS: Darwin
Knotenversion: 5.1.1
Serverlose Version: 1.6.1
Sollte in der Lage sein, Variablen (einschließlich verschachtelter Variablen) zu verwenden, um die Bereitstellung über verschiedene Konten und daher verschiedene VPCs hinweg zu unterstützen.
Ich benutze Variablen dafür, aber es ist mit 1.3. Haben Sie Ihre genaue serverless.yml
-Datei?
Unten ist ein Beispiel, wie ich das mache. Es ist so modifiziert, dass es möglicherweise nicht genau richtig ist, aber Ihnen einen Ausgangspunkt geben sollte.
custom:
vpc:
securityGroupIds: ${self:custom.SecurityGroupId}
subnetIds: ${self:custom.SubnetId}
SubnetId:
- TBA
SecurityGroupId:
- TBA
functions:
test:
handler: handlers/test.handler
vpc: ${self:custom.vpc}
Vielen Dank! Das schien den Trick zu tun. Muss die Variable als Liste und nicht als Liste von Variablen festlegen. Oder etwas ähnliches. Schätzen Sie die Hilfe!
EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.
Ich erhalte den gleichen Fehler. Ich habe nur eine Sicherheitsgruppe.
Ich habe beides versucht
provider:
name: aws
runtime: nodejs6.10
vpc:
securityGroupIds:
— "sg-abcdefg1"
subnetIds:
— "subnet-abcdefg1"
— "subnet-abcdefg2"
UND
provider:
name: aws
runtime: nodejs6.10
vpc:
securityGroupIds: "sg-abcdefg1"
subnetIds:
— "subnet-abcdefg1"
— "subnet-abcdefg2"
Ist das nur eine Yaml-Sache?
EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.
Hilfreichster Kommentar
EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.
Ich erhalte den gleichen Fehler. Ich habe nur eine Sicherheitsgruppe.
Ich habe beides versucht
UND
Ist das nur eine Yaml-Sache?
EDIT: DISREGARD - Ich hatte diese Konfiguration irgendwo aus dem Internet kopiert und sie hat einen Bindestrich anstelle eines Bindestrichs eingefügt, was zu dem Fehler führte, den ich sah.