Quando utilizzo il mio tipo di provider di risorse per creare una risorsa in AWS CloudFormation, ricevo il seguente errore: "Resource timed out waiting for creation of physical resource."
Risoluzione
Quando le risorse non restituiscono il loro primaryIdentifier o ID fisico entro 60 secondi, viene visualizzato l'errore "Resource timed out waiting for creation of physical resource". L'errore si verifica perché il CreateHandler della risorsa non restituisce la proprietà specificata come primaryIdentifier nel file dello schema del tipo di risorsa.
Nota: il file utilizza il formato di denominazione organization-service-resource.json. Ad esempio, article-ec2-subnet.json è il nome di file per una risorsa Amazon Elastic Cloud Compute (Amazon EC2) denominata Article::EC2::Subnet.
Per risolvere il problema, completa i seguenti passaggi:
- Nel file dello schema del tipo di risorsa, verifica che la definizione primaryIdentifier utilizzi il seguente formato:
"primaryIdentifier": [
"/properties/Id"
]
Nota: sostituisci Id con l'ID della proprietà. Puoi trovare il file dello schema del tipo di risorsa nella directory principale del tuo progetto.
- Nel file CreateHandler, imposta la proprietà primaryidentifier nell'oggetto modello.
Esempio:
final ResourceModel model = request.getDesiredResourceState();
model.setId("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
Nota: sostituisci Id con l'identificatore principale della risorsa e abcdxyz con un valore identificativo univoco per la tua proprietà.
Se ricevi un errore diverso quando utilizzi il tuo provider di risorse, consulta i seguenti articoli di AWS Knowledge Center per la risoluzione dei problemi:
Informazioni correlate
CloudFormation CLI sul sito web di GitHub.