Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Abschnitt „Globals“ der Vorlage AWS SAM
Manchmal haben Ressourcen, die Sie in einer AWS SAM Vorlage deklarieren, gemeinsame Konfigurationen. Beispielsweise haben Sie möglicherweise eine Anwendung mit mehreren AWS::Serverless::Function
Ressourcen, die identischeRuntime
,Memory
, VPCConfig
Environment
, und Cors
Konfigurationen haben. Anstatt diese Informationen in jeder Ressource zu duplizieren, können Sie sie einmal in dem Globals
Abschnitt deklarieren und Ihre Ressourcen sie erben lassen.
Der Globals
Abschnitt unterstützt die folgenden AWS SAM Ressourcentypen:
-
AWS::Serverless::Api
-
AWS::Serverless::Function
-
AWS::Serverless::HttpApi
-
AWS::Serverless::SimpleTable
-
AWS::Serverless::StateMachine
Beispiel:
Globals: Function: Runtime: nodejs12.x Timeout: 180 Handler: index.handler Environment: Variables: TABLE_NAME: data-table Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: Environment: Variables: MESSAGE: "Hello From SAM" ThumbnailFunction: Type: AWS::Serverless::Function Properties: Events: Thumbnail: Type: Api Properties: Path: /thumbnail Method: POST
In diesem Beispiel ThumbnailFunction
verwenden Sie beide HelloWorldFunction
und „nodejs12.x“ fürRuntime
, „180" Sekunden für und „index.handler“ fürTimeout
. Handler
HelloWorldFunction
fügt die MESSAGE Umgebungsvariable zusätzlich zur geerbten Variable _ hinzu. TABLE NAME ThumbnailFunction
erbt alle Globals
Eigenschaften und fügt eine API Ereignisquelle hinzu.
Unterstützte Ressourcen und Eigenschaften
AWS SAM unterstützt die folgenden Ressourcen und Eigenschaften.
Globals: Api: AccessLogSetting: Auth: BinaryMediaTypes: CacheClusterEnabled: CacheClusterSize: CanarySetting: Cors: DefinitionUri: Domain: EndpointConfiguration: GatewayResponses: MethodSettings: MinimumCompressionSize: Name: OpenApiVersion: PropagateTags: TracingEnabled: Variables: Function: Architectures: AssumeRolePolicyDocument: AutoPublishAlias: CodeSigningConfigArn: CodeUri: DeadLetterQueue: DeploymentPreference: Description: Environment: EphemeralStorage: EventInvokeConfig: FileSystemConfigs: FunctionUrlConfig: Handler: KmsKeyArn: Layers: LoggingConfig: MemorySize: PermissionsBoundary: PropagateTags: ProvisionedConcurrencyConfig: RecursiveLoop: ReservedConcurrentExecutions: RolePath: Runtime: RuntimeManagementConfig: SnapStart: SourceKMSKeyArn: Tags: Timeout: Tracing: VpcConfig: HttpApi: AccessLogSettings: Auth: PropagateTags: StageVariables: Tags: SimpleTable: SSESpecification: StateMachine: PropagateTags:
Anmerkung
Ressourcen und Eigenschaften, die nicht in der vorherigen Liste enthalten sind, werden nicht unterstützt. Zu den Gründen, warum sie nicht unterstützt werden, gehören: 1) Sie führen zu potenziellen Sicherheitsproblemen oder 2) Sie machen die Vorlage schwer verständlich.
Implizit APIs
AWS SAM erzeugt implizit, APIs wenn Sie API im Abschnitt eine deklarieren. Events
Sie können verwendenGlobals
, um alle Eigenschaften von implicit APIs zu überschreiben.
Überschreibbare Eigenschaften
Ressourcen können die Eigenschaften, die Sie im Abschnitt deklarieren, außer Kraft setzen. Globals
Sie können beispielsweise einer Umgebungsvariablenübersicht neue Variablen hinzufügen oder global deklarierte Variablen überschreiben. Die Ressource kann jedoch keine Eigenschaft entfernen, die im Globals
Abschnitt angegeben ist.
Allgemeiner ausgedrückt werden in Globals
diesem Abschnitt Eigenschaften deklariert, die alle Ihre Ressourcen gemeinsam nutzen. Einige Ressourcen können neue Werte für global deklarierte Eigenschaften bereitstellen, sie können sie jedoch nicht entfernen. Wenn einige Ressourcen eine Eigenschaft verwenden, andere jedoch nicht, dürfen Sie sie nicht in dem Globals
Abschnitt deklarieren.
In den folgenden Abschnitten wird beschrieben, wie das Überschreiben für verschiedene Datentypen funktioniert.
Primitive Datentypen werden ersetzt
Zu den primitiven Datentypen gehören Zeichenketten, Zahlen, Boolesche Werte usw.
Der im Resources
Abschnitt angegebene Wert ersetzt den Wert im Globals
Abschnitt.
Beispiel:
Globals: Function: Runtime: nodejs12.x Resources: MyFunction: Type: AWS::Serverless::Function Properties: Runtime: python3.9
Der Runtime
Wert für MyFunction
ist auf gesetztpython3.9
.
Karten werden zusammengeführt
Karten werden auch als Wörterbücher oder Sammlungen von Schlüssel-Wert-Paaren bezeichnet.
Karteneinträge in Resources
diesem Abschnitt werden mit globalen Karteneinträgen zusammengeführt. Wenn Duplikate vorhanden sind, überschreibt der Resource
Abschnittseintrag den Globals
Abschnittseintrag.
Beispiel:
Globals: Function: Environment: Variables: STAGE: Production TABLE_NAME: global-table Resources: MyFunction: Type: AWS::Serverless::Function Properties: Environment: Variables: TABLE_NAME: resource-table NEW_VAR: hello
Die Umgebungsvariablen von MyFunction
sind wie folgt gesetzt:
{ "STAGE": "Production", "TABLE_NAME": "resource-table", "NEW_VAR": "hello" }
Listen sind additiv
Listen werden auch als Arrays bezeichnet.
Listeneinträge im Globals
Abschnitt werden der Liste im Abschnitt vorangestellt. Resources
Beispiel:
Globals: Function: VpcConfig: SecurityGroupIds: - sg-123 - sg-456 Resources: MyFunction: Type: AWS::Serverless::Function Properties: VpcConfig: SecurityGroupIds: - sg-first
Die SecurityGroupIds
MyFunction
For-Werte VpcConfig
sind wie folgt festgelegt:
[ "sg-123", "sg-456", "sg-first" ]