

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.

# Verweisen auf externe Dateien in Infrastructure Composer
<a name="using-composer-external-files"></a>

Sie können externe Dateien mit Ihren AWS Serverless Application Model (AWS SAM) -Vorlagen verwenden, um wiederholten Code wiederzuverwenden und Ihre Projekte zu organisieren. Beispielsweise verfügen Sie möglicherweise über mehrere Amazon API Gateway Gateway-REST-API-Ressourcen, die in einer OpenAPI Spezifikation beschrieben werden. Anstatt den OpenAPI Spezifikationscode in Ihrer Vorlage zu replizieren, können Sie eine externe Datei erstellen und für jede Ihrer Ressourcen darauf verweisen.

AWS Infrastructure Composer unterstützt die folgenden Anwendungsfälle für externe Dateien:
+ API Gateway REST API Gateway-Ressourcen, die durch externe OpenAPI Spezifikationsdateien definiert sind.
+ AWS Step Functions Zustandsmaschinenressourcen, die durch externe Zustandsmaschinen-Definitionsdateien definiert sind.

Weitere Informationen zur Konfiguration externer Dateien für unterstützte Ressourcen finden Sie im Folgenden:
+ `[ DefinitionBody](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-api.html#sam-api-definitionbody)`für`AWS::Serverless::Api`.
+ `[ DefinitionUri](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html#sam-statemachine-definitionuri)`für`AWS::Serverless::StateMachine`.

**Anmerkung**  
Um mit Infrastructure Composer von der Infrastructure Composer-Konsole aus auf externe Dateien zu verweisen, müssen Sie Infrastructure Composer im **lokalen Synchronisierungsmodus** verwenden. Weitere Informationen finden Sie unter [Synchronisieren und speichern Sie Ihr Projekt lokal in der Infrastructure Composer-Konsole](using-composer-project-local-sync.md).

**Topics**
+ [Bewährte Methoden für externe Referenzdateien von Infrastructure Composer](using-composer-external-files-best-practices.md)
+ [Erstellen Sie eine externe Dateireferenz in Infrastructure Composer](using-composer-external-files-new.md)
+ [Laden Sie ein Projekt mit einer externen Dateireferenz in Infrastructure Composer](using-composer-external-files-load.md)
+ [Erstellen Sie eine Anwendung, die auf eine externe Datei in Infrastructure Composer verweist](using-composer-external-files-examples-example3.md)
+ [Verweisen Sie mit Infrastructure Composer auf eine externe OpenAPI Spezifikationsdatei](using-composer-external-files-examples-example1.md)

# Bewährte Methoden für externe Referenzdateien von Infrastructure Composer
<a name="using-composer-external-files-best-practices"></a>

## Verwenden Sie Infrastructure Composer mit einer lokalen IDE
<a name="using-composer-external-files-best-practices-ide"></a>

Wenn Sie Infrastructure Composer mit einer lokalen IDE im **lokalen Synchronisierungsmodus** verwenden, können Sie Ihre lokale IDE verwenden, um externe Dateien anzuzeigen und zu ändern. Inhalte aus unterstützten externen Dateien, auf die in Ihrer Vorlage verwiesen wird, werden automatisch auf der Infrastructure Composer-Arbeitsfläche aktualisiert. Weitere Informationen hierzu finden Sie unter [Connect die Infrastructure Composer-Konsole mit Ihrer lokalen IDE](other-services-ide.md).

## Bewahren Sie externe Dateien im übergeordneten Verzeichnis Ihres Projekts auf
<a name="using-composer-external-files-best-practices-directory"></a>

Sie können Unterverzeichnisse im übergeordneten Verzeichnis Ihres Projekts erstellen, um Ihre externen Dateien zu organisieren. Infrastructure Composer kann nicht auf externe Dateien zugreifen, die in einem Verzeichnis außerhalb des übergeordneten Verzeichnisses Ihres Projekts gespeichert sind.

## Stellen Sie Ihre Anwendung mit dem bereit AWS SAMCLI
<a name="using-composer-external-files-best-practices-sam"></a>

Wenn Sie Ihre Anwendung auf dem bereitstellen AWS Cloud, müssen lokale externe Dateien zunächst an einen zugänglichen Ort wie Amazon Simple Storage Service (Amazon S3) hochgeladen werden. Sie können die AWS SAM CLI verwenden, um diesen Vorgang automatisch zu vereinfachen. Weitere Informationen finden Sie unter [Hochladen lokaler Dateien bei der Bereitstellung](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/deploy-upload-local-files.html) im *AWS Serverless Application Model Entwicklerhandbuch*.

# Erstellen Sie eine externe Dateireferenz in Infrastructure Composer
<a name="using-composer-external-files-new"></a>

Sie können im **Eigenschaftenbereich** der unterstützten Ressourcen eine externe Dateireferenz erstellen.

**Um eine externe Dateireferenz zu erstellen**

1. Wählen Sie auf einer erweiterten **API-Gateway-Komponentenkarte** oder **Step Functions** die Option **Details** aus, um den Bereich mit den **Ressourceneigenschaften** aufzurufen.

1. Suchen Sie nach der Option **Externe Datei verwenden** und wählen Sie sie aus.

1. Geben Sie den relativen Pfad zur externen Datei an. Dies ist der Pfad von Ihrer `template.yaml` Datei zur externen Datei.

   Wenn Sie beispielsweise aus der Struktur des folgenden Projekts auf die `api-spec.yaml` externe Datei verweisen möchten, geben Sie dies `./api-spec.yaml` als Ihren relativen Pfad an.

   ```
   demo
   ├── api-spec.yaml
   ├── src
   │ └── Function
   │ ├── index.js
   │ └── package.json
   └── template.yaml
   ```
**Anmerkung**  
Wenn die externe Datei und der angegebene Pfad nicht existieren, erstellt Infrastructure Composer sie.

1. **Speichern** Sie Ihre Änderungen.

# Laden Sie ein Projekt mit einer externen Dateireferenz in Infrastructure Composer
<a name="using-composer-external-files-load"></a>

Folgen Sie den auf dieser Seite aufgeführten Schritten, um ein Infrastructure Composer-Projekt mit einer externen Dateireferenz zu laden.

**Von der Infrastructure Composer-Konsole aus**

1. Führen Sie die Schritte unter [Importieren Sie eine vorhandene Projektvorlage in die Infrastructure Composer-Konsole](using-composer-project-import-template.md) aus.

1. Bestätigen Sie, dass Infrastructure Composer Sie auffordert, eine Verbindung zum Stammordner Ihres Projekts herzustellen 

Wenn Ihr Browser die File System Access API unterstützt, werden Sie von Infrastructure Composer aufgefordert, eine Verbindung zum Stammordner Ihres Projekts herzustellen. Infrastructure Composer öffnet Ihr Projekt im **lokalen Synchronisierungsmodus**, um Ihre externe Datei zu unterstützen. Wenn die referenzierte externe Datei nicht unterstützt wird, erhalten Sie eine Fehlermeldung. Weitere Hinweise zu Fehlermeldungen finden Sie unter[Fehlerbehebung](ref-troubleshooting.md). 

**Aus dem Toolkit for VS Code**

1. Führen Sie die Schritte unter [Greifen Sie auf Infrastructure Composer zu über AWS Toolkit for Visual Studio Code](setting-up-composer-access-ide.md) aus.

1. Öffnen Sie die Vorlage, die Sie anzeigen möchten, in Infrastructure Composer.

Wenn Sie über eine Vorlage auf Infrastructure Composer zugreifen, erkennt Infrastructure Composer Ihre externe Datei automatisch. Wenn die referenzierte externe Datei nicht unterstützt wird, erhalten Sie eine Fehlermeldung. Weitere Hinweise zu Fehlermeldungen finden Sie unter[Fehlerbehebung](ref-troubleshooting.md).

# Erstellen Sie eine Anwendung, die auf eine externe Datei in Infrastructure Composer verweist
<a name="using-composer-external-files-examples-example3"></a>

In diesem Beispiel wird die verwendet AWS SAMCLI, um eine Anwendung zu erstellen, die für ihre Zustandsmaschinen-Definition auf eine externe Datei verweist. Anschließend laden Sie Ihr Projekt in Infrastructure Composer, wobei Ihre externe Datei ordnungsgemäß referenziert wird.

**Beispiel**

1. Verwenden Sie zunächst den AWS SAM **sam init** CLI-Befehl, um eine neue Anwendung mit dem Namen `demo` zu initialisieren. Wählen Sie während des interaktiven Ablaufs die Vorlage für den Schnellstart eines **Workflows mit mehreren Schritten** aus.

   ```
   $ 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
   
   ...
   ```

   Diese Anwendung verweist auf eine externe Datei für die State-Machine-Definition.

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

   Die externe Datei befindet sich im `statemachine` Unterverzeichnis unserer Anwendung.

   ```
   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. Laden Sie anschließend Ihre Anwendung von der Konsole aus in Infrastructure Composer. Wählen Sie auf der Infrastructure **Composer-Startseite** die Option **CloudFormation Vorlage laden** aus.

1. Wählen Sie unseren `demo` Projektordner aus und lassen Sie die Eingabeaufforderung zum Anzeigen der Dateien erscheinen. Wählen Sie unsere `template.yaml` Datei aus und wählen Sie **Erstellen**. Wenn Sie dazu aufgefordert werden, wählen Sie **Änderungen speichern**.  
![\[Das Infrastructure Composer-Fenster „Projektordner öffnen“ mit der Auswahl unseres Projektordners und der Auswahl „Erstellen ist bereit“.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_15.png)

Infrastructure Composer erkennt automatisch die externe State-Machine-Definitionsdatei und lädt sie. Wählen Sie unsere **StockTradingStateMachine**Ressource aus und klicken Sie auf **Details**, um den Bereich mit den **Ressourceneigenschaften** anzuzeigen. Hier können Sie sehen, dass Infrastructure Composer automatisch eine Verbindung zu unserer externen State-Machine-Definitionsdatei hergestellt hat.

![\[Die Infrastructure Composer-Canvas-Ansicht mit dem angezeigten Fenster mit den Ressourceneigenschaften von API Gateway, das die Konfiguration der externen Referenzdatei zeigt.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_03.png)


Alle an der State-Machine-Definitionsdatei vorgenommenen Änderungen werden automatisch in Infrastructure Composer widergespiegelt.

# Verweisen Sie mit Infrastructure Composer auf eine externe OpenAPI Spezifikationsdatei
<a name="using-composer-external-files-examples-example1"></a>

In diesem Beispiel wird Infrastructure Composer von der Konsole aus verwendet, um auf eine externe OpenAPI Spezifikationsdatei zu verweisen, die ein API Gateway definiertREST API.

Erstellen Sie zunächst auf der Infrastructure **Composer-Startseite** ein neues Projekt.

Aktivieren Sie anschließend die **lokale Synchronisierung**, indem Sie im **Menü** die Option **Lokale Synchronisierung aktivieren** auswählen. Erstellen Sie einen neuen Ordner mit dem Namen`demo`, warten Sie auf die Aufforderung, Dateien anzuzeigen, und wählen Sie **Aktivieren**. Wenn Sie dazu aufgefordert werden, wählen Sie **Änderungen speichern** aus.

![\[Das Fenster Infrastructure Composer Activate Local Sync mit einem ausgewählten Demo-Projektordner und der Schaltfläche Aktivieren steht zur Auswahl bereit.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_11.png)


Ziehen Sie als Nächstes eine Amazon API Gateway Gateway-Karte auf die Leinwand. Wählen Sie **Details** aus, um den Bereich mit den **Ressourceneigenschaften** aufzurufen.

![\[Eine API-Gateway-Ressource auf der Arbeitsfläche mit geöffnetem Bereich mit den Ressourceneigenschaften.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_12.png)


Konfigurieren Sie im Bereich **mit den Ressourceneigenschaften** Folgendes und **speichern Sie** es.
+ Wählen Sie die Option **Externe Datei für API-Definition verwenden**.
+ Eingabe `./api-spec.yaml` als **relativer Pfad zur externen Datei**

![\[Ein Fenster mit dem Kontrollkästchen „Externe Datei für API-Definition verwenden“ und einem relativen Pfad zu einer definierten externen Datei.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_13.png)


Dadurch wird das folgende Verzeichnis auf unserem lokalen Computer erstellt:

```
demo
└── api-spec.yaml
```

Jetzt können Sie die externe Datei auf unserem lokalen Computer konfigurieren. Öffnen Sie mit unserer IDE den Ordner, der `api-spec.yaml` sich in Ihrem Projektordner befindet. Ersetzen Sie den Inhalt durch Folgendes:

```
openapi: '3.0'
info: {}
paths:
  /:
    get:
      responses: {}
    post:
      x-amazon-apigateway-integration:
        credentials:
          Fn::GetAtt:
            - ApiQueuesendmessageRole
            - Arn
        httpMethod: POST
        type: aws
        uri:
          Fn::Sub: arn:${AWS::Partition}:apigateway:${AWS::Region}:sqs:path/${AWS::AccountId}/${Queue.QueueName}
        requestParameters:
          integration.request.header.Content-Type: '''application/x-www-form-urlencoded'''
        requestTemplates:
          application/json: Action=SendMessage&MessageBody={"data":$input.body}
        responses:
          default:
            statusCode: 200
      responses:
        '200':
          description: 200 response
```

In der Infrastructure **Composer-Vorlagenansicht** können Sie sehen, dass Infrastructure Composer Ihre Vorlage automatisch aktualisiert hat, sodass sie auf die externe Datei verweist.

![\[Die Infrastructure Composer-Vorlagenansicht zeigt Ihren Infrastrukturcode, der so konfiguriert ist, dass er auf die externe Datei verweist.\]](http://docs.aws.amazon.com/de_de/infrastructure-composer/latest/dg/images/aac_use_ex_07.png)
