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à.
Resources
La Resources
sezione richiesta dichiara le AWS risorse che desideri includere nello stack, come un'EC2istanza Amazon o un bucket Amazon S3.
Sintassi
La sezione Resources
è composta dal nome di chiave Resources
. Il seguente pseudomodello definisce la sezione Resources
:
JSON
"Resources" : { "
Logical ID of resource
" : { "Type" : "Resource type
", "Properties" : {Set of properties
} } }
YAML
Resources:
Logical ID of resource
: Type:Resource type
Properties:Set of properties
Campi delle risorse
- ID logico (chiamato anche nome logico)
-
L'ID logico deve essere un valore alfanumerico (A-Z, a-z, 0-9) univoco all'interno del modello. Utilizza il nome logico per fare riferimento alla risorsa in altre parti del modello. Ad esempio, se desideri mappare un EBS volume Amazon su un'EC2istanza Amazon, fai riferimento IDs alla logica per associare i block store all'istanza.
Oltre all'ID logico, alcune risorse hanno anche un ID fisico, che è il nome effettivo assegnato a quella risorsa, ad esempio un ID di EC2 istanza o il nome di un bucket S3. Usa quello fisico IDs per identificare le risorse al di fuori dei CloudFormation modelli, ma solo dopo che le risorse sono state create. Ad esempio, supponete di assegnare a una risorsa di EC2 istanza un ID logico di
MyEC2Instance
. Quando CloudFormation crea l'istanza, genera e assegna CloudFormation automaticamente un ID fisico (ad esempioi-28f9ba55
) all'istanza. Puoi utilizzare questo ID fisico per identificare l'istanza e visualizzarne le proprietà (come il DNS nome) utilizzando la EC2 console Amazon. Per le risorse che supportano nomi personalizzati, puoi assegnare i tuoi nomi (fisiciIDs) per aiutarti a identificare rapidamente le risorse. Ad esempio, puoi denominare un bucket S3 che memorizza i log con il nomeMyPerformanceLogs
. Per ulteriori informazioni, consulta Tipo di nome. Type
-
Il tipo di risorsa identifica il tipo di risorsa che stai dichiarando. Ad esempio,
AWS::EC2::Instance
dichiara un'EC2istanza. Per un elenco di tutti i tipi di risorse, consulta AWS riferimento ai tipi di risorse e proprietà. Properties
-
Le proprietà delle risorse sono opzioni aggiuntive che puoi specificare per una risorsa. Ad esempio, per ogni EC2 istanza, devi specificare un ID Amazon Machine Image (AMI) per quell'istanza. Dichiari l'AMIID come proprietà dell'istanza, come mostrato nell'esempio seguente:
Esempio JSON
"Resources" : { "MyEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : "ami-0ff8a91507f77f867" } } }
Esempio YAML
Resources: MyEC2Instance: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-0ff8a91507f77f867"
Se una risorsa non richiede la dichiarazione delle proprietà, puoi omettere la sezione Properties (Proprietà) per tale risorsa.
I valori delle proprietà possono essere stringhe letterali, elenchi di stringhe, valori booleani, riferimenti a parametri, pseudoriferimenti oppure il valore restituito da una funzione. L'esempio seguente mostra come dichiarare diversi tipi di valori di proprietà:
Esempio JSON
"Properties" : { "String" : "one-string-value", "Number" : 123, "LiteralList" : [ "first-value", "second-value" ], "Boolean" : true, "ReferenceForOneValue" : { "Ref" : "MyLogicalResourceName" } , "FunctionResultWithFunctionParams" : { "Fn::Join" : [ "%", [ "Key=", { "Ref" : "MyParameter" } ] ] } }
Esempio YAML
Properties: String: OneStringValue String: A longer string value Number: 123 LiteralList: - "[first]-string-value with a special characters" - "[second]-string-value with a special characters" Boolean: true ReferenceForOneValue: Ref: MyLogicalResourceName ReferenceForOneValueShortCut: !Ref MyLogicalResourceName FunctionResultWithFunctionParams: !Sub | Key=%${MyParameter}
Puoi creare una risorsa in modo condizionale associando una condizione. È necessario definire la condizione nella sezione Condizioni del modello.
Esempi
Il seguente esempio mostra una dichiarazione della risorsa. Vengono definite due risorse. La risorsa MyInstance
include la risorsa MyQueue
come parte della relativa proprietà UserData
:
JSON
"Resources" : { "MyInstance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "UserData" : { "Fn::Base64" : { "Fn::Join" : [ "", [ "Queue=", { "Ref" : "MyQueue" } ] ] } }, "AvailabilityZone" : "us-east-1a", "ImageId" : "ami-0ff8a91507f77f867" } }, "MyQueue" : { "Type" : "AWS::SQS::Queue", "Properties" : { } } }
YAML
Resources: MyInstance: Type: "AWS::EC2::Instance" Properties: UserData: "Fn::Base64": !Sub | Queue=${MyQueue} AvailabilityZone: "us-east-1a" ImageId: "ami-0ff8a91507f77f867" MyQueue: Type: "AWS::SQS::Queue" Properties: {}