

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'une application qui référence un fichier externe dans Infrastructure Composer
<a name="using-composer-external-files-examples-example3"></a>

Cet exemple utilise le AWS SAMCLI pour créer une application qui fait référence à un fichier externe pour sa définition de machine à états. Vous chargez ensuite votre projet dans Infrastructure Composer avec votre fichier externe correctement référencé.

**Exemple**

1. Tout d'abord, utilisez la **sam init** commande AWS SAM CLI pour initialiser une nouvelle application nommée`demo`. Pendant le flux interactif, sélectionnez le modèle de démarrage rapide du **flux de travail en plusieurs étapes**.

   ```
   $ sam init
   
   ...
   
   Which template source would you like to use?
           1 - AWS Quick Start Templates
           2 - Custom Template Location
   Choice: {{1}}
   
   Choose an AWS Quick Start application template
           1 - Hello World Example
           2 - Multi-step workflow
           3 - Serverless API
           4 - Scheduled task
           ...
   Template: {{2}}
   
   Which runtime would you like to use?
           1 - dotnet6
           2 - dotnetcore3.1
           ...
           15 - python3.7
           16 - python3.10
           17 - ruby2.7
   Runtime: {{16}}
   
   Based on your selections, the only Package type available is Zip.
   We will proceed to selecting the Package type as Zip.
   
   Based on your selections, the only dependency manager available is pip.
   We will proceed copying the template using pip.
   
   Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: {{ENTER}}
   
   Would you like to enable monitoring using CloudWatch Application Insights?
   For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: {{ENTER}}
   
   Project name [sam-app]: {{demo}}
   
       -----------------------
       Generating application:
       -----------------------
       Name: demo
       Runtime: python3.10
       Architectures: x86_64
       Dependency Manager: pip
       Application Template: step-functions-sample-app
       Output Directory: .
       Configuration file: demo/samconfig.toml
       
       Next steps can be found in the README file at demo/README.md
   
   ...
   ```

   Cette application fait référence à un fichier externe pour la définition de la machine à états.

   ```
   ...
   Resources:
     StockTradingStateMachine:
       Type: AWS::Serverless::StateMachine
       Properties:
         DefinitionUri: statemachine/stock_trader.asl.json
   ...
   ```

   Le fichier externe se trouve dans le `statemachine` sous-répertoire de notre application.

   ```
   demo
   ├── README.md
   ├── __init__.py
   ├── functions
   │   ├── __init__.py
   │   ├── stock_buyer
   │   ├── stock_checker
   │   └── stock_seller
   ├── samconfig.toml
   ├── statemachine
   │   └── stock_trader.asl.json
   ├── template.yaml
   └── tests
   ```

1. Chargez ensuite votre application dans Infrastructure Composer depuis la console. Sur la page d'**accueil** d'Infrastructure Composer, sélectionnez **Charger un CloudFormation modèle**.

1. Sélectionnez notre dossier de `demo` projet et autorisez l'invite à afficher les fichiers. Sélectionnez notre `template.yaml` fichier, puis sélectionnez **Créer**. Lorsque vous y êtes invité, sélectionnez **Enregistrer les modifications**.  
![Le compositeur d'infrastructure ouvre la fenêtre du dossier de projet avec notre dossier de projet sélectionné et le dossier Créer prêt à être sélectionné.](http://docs.aws.amazon.com/fr_fr/infrastructure-composer/latest/dg/images/aac_use_ex_15.png)

Infrastructure Composer détecte automatiquement le fichier de définition de la machine d'état externe et le charge. Sélectionnez notre **StockTradingStateMachine**ressource et choisissez **Détails** pour afficher le panneau **des propriétés de la ressource**. Ici, vous pouvez voir qu'Infrastructure Composer s'est automatiquement connecté à notre fichier de définition de machine à états externe.

![La vue du canevas d'Infrastructure Composer avec le panneau des propriétés des ressources API Gateway affiché, montrant la configuration du fichier de référence externe.](http://docs.aws.amazon.com/fr_fr/infrastructure-composer/latest/dg/images/aac_use_ex_03.png)


Toute modification apportée au fichier de définition de la machine d'état sera automatiquement reflétée dans Infrastructure Composer.