Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Trasformazione AWS::Serverless
La AWS::Serverless
trasformazione, che è una macro ospitata da CloudFormation, utilizza un intero modello scritto nella sintassi AWS Serverless Application Model (AWS SAM) e lo trasforma ed espande in un modello conforme. CloudFormation Per ulteriori informazioni sulle applicazioni serverless e AWS SAM, consulta Deploying Lambda applications nella AWS Lambda Developer Guide, riferimenti a AWS SAM risorse e proprietà nella AWS Serverless Application Model Developer Guide e transform on.AWS SAMGitHub
Nell'esempio seguente, il modello utilizza la AWS SAM sintassi per semplificare la dichiarazione di una funzione Lambda e il relativo ruolo di esecuzione.
Transform: AWS::Serverless-2016-10-31 Resources: MyServerlessFunctionLogicalID: Type: AWS::Serverless::Function Properties: Handler:
index.handler
Runtime:nodejs20.x
CodeUri: 's3://amzn-s3-demo-bucket/MySourceCode.zip
'
Quando si crea un set di modifiche dal modello, CloudFormation espande la AWS SAM sintassi, come definita dalla trasformazione. Il modello elaborato espande la risorsa AWS::Serverless::Function
, dichiarando una funzione AWS Lambda e un ruolo di esecuzione.
{ "Resources": { "MyServerlessFunctionLogicalID": { "Type": "AWS::Lambda::Function", "Properties": { "Handler": "
index.handler
", "Code": { "S3Bucket": "amzn-s3-demo-bucket
", "S3Key": "MySourceCode.zip
" }, "Role": { "Fn::GetAtt": ["FunctionNameRole", "Arn"] }, "Runtime": "nodejs20.x
" } }, "FunctionNameRole": { "Type": "AWS::IAM::Role", "Properties": { "ManagedPolicyArns": ["arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"], "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Action": ["sts:AssumeRole"], "Effect": "Allow", "Principal": { "Service": ["lambda.amazonaws.com"] } }] } } } } }
Sintassi
Il valore della dichiarazione della trasformazione deve essere una stringa letterale. Non è possibile utilizzare un parametro o una funzione per specificare un valore di trasformazione. Il seguente frammento è un esempio di una dichiarazione della trasformazione:
JSON
"Transform" : "AWS::Serverless-2016-10-31"
YAML
Transform: "AWS::Serverless-2016-10-31"