

Hinweis zum Ende des Supports: Am 31. Mai 2026 AWS endet der Support für AWS Panorama. Nach dem 31. Mai 2026 können Sie nicht mehr auf die AWS Panorama Konsole oder AWS Panorama die Ressourcen zugreifen. Weitere Informationen finden Sie unter [AWS Panorama Ende des Supports](https://docs.aws.amazon.com/panorama/latest/dev/panorama-end-of-support.html). 

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.

# Eine Anwendung bereitstellen
<a name="applications-deploy"></a>

Um eine Anwendung bereitzustellen, verwenden Sie die AWS Panorama Application CLI, importieren sie in Ihr Konto, erstellen den Container, laden Ressourcen hoch und registrieren sie und erstellen eine Anwendungsinstanz. In diesem Thema wird auf jeden dieser Schritte detailliert eingegangen und es wird beschrieben, was im Hintergrund vor sich geht.

Wenn Sie noch keine Anwendung bereitgestellt haben, finden Sie [Erste Schritte mit AWS Panorama](panorama-gettingstarted.md) eine exemplarische Vorgehensweise unter.

Weitere Informationen zum Anpassen und Erweitern der Beispielanwendung finden Sie unter. [AWS Panorama Anwendungen erstellen](panorama-development.md)

**Topics**
+ [Installieren Sie die AWS Panorama Panorama-Anwendungs-CLI](#applications-deploy-install)
+ [Eine Anwendung importieren](#applications-deploy-import)
+ [Erstellen Sie ein Container-Image](#applications-deploy-build)
+ [Importieren Sie ein Modell](#applications-deploy-model)
+ [Laden Sie Anwendungsressourcen hoch](#applications-deploy-package)
+ [Stellen Sie eine Anwendung mit der AWS Panorama Panorama-Konsole bereit](#applications-manage-deploy)
+ [Automatisieren Sie die Anwendungsbereitstellung](#applications-deploy-automate)

## Installieren Sie die AWS Panorama Panorama-Anwendungs-CLI
<a name="applications-deploy-install"></a>

Verwenden Sie pip, um die AWS Panorama Application CLI zu installieren und AWS CLI.

```
$ pip3 install --upgrade awscli panoramacli
```

Um Anwendungs-Images mit der AWS Panorama Application CLI zu erstellen, benötigen Sie Docker. Unter Linux `qemu` und verwandten Systembibliotheken sind ebenfalls erforderlich. Weitere Informationen zur Installation und Konfiguration der AWS Panorama Application CLI finden Sie in der README-Datei im GitHub Projekt-Repository.

****
+ [Github. com/aws/aws-panorama-cli](https://github.com/aws/aws-panorama-cli)

Anweisungen zum Einrichten einer Build-Umgebung in Windows mit WSL2 finden Sie unter. [Eine Entwicklungsumgebung in Windows einrichten](applications-devenvwindows.md)

## Eine Anwendung importieren
<a name="applications-deploy-import"></a>

Wenn Sie mit einer Beispielanwendung oder einer von einem Drittanbieter bereitgestellten Anwendung arbeiten, verwenden Sie die AWS Panorama Application CLI, um die Anwendung zu importieren. 

```
my-app$ panorama-cli import-application
```

Dieser Befehl benennt Anwendungspakete mit Ihrer Konto-ID um. Paketnamen beginnen mit der Konto-ID des Kontos, für das sie bereitgestellt werden. Wenn Sie eine Anwendung für mehrere Konten bereitstellen, müssen Sie die Anwendung für jedes Konto separat importieren und verpacken.

Bei der Beispielanwendung dieses Handbuchs handelt es sich beispielsweise um ein Codepaket und ein Modellpaket, die jeweils mit einer Platzhalter-Konto-ID benannt sind. Der `import-application` Befehl benennt diese um, sodass sie die Konto-ID verwenden, die die CLI aus den Anmeldeinformationen Ihres AWS Workspace ableitet.

```
/aws-panorama-sample
├── assets
├── graphs
│   └── my-app
│       └── [graph.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/graphs/my-app/graph.json)
└── packages
    ├── [123456789012-SAMPLE\$1CODE-1.0](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0)
    │   ├── Dockerfile
    │   ├── application.py
    │   ├── descriptor.json
    │   ├── package.json
    │   ├── requirements.txt
    │   └── squeezenet_classes.json
    └── [123456789012-SQUEEZENET\$1PYTORCH-1.0](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SQUEEZENET_PYTORCH-1.0)
        ├── descriptor.json
        └── package.json
```

`123456789012`wird in den Paketverzeichnisnamen und im Anwendungsmanifest (`graph.json`), das auf sie verweist, durch Ihre Konto-ID ersetzt. Sie können Ihre Konto-ID bestätigen, indem Sie `aws sts get-caller-identity` mit dem anrufen AWS CLI.

```
$ aws sts get-caller-identity
{
    "UserId": "AIDAXMPL7W66UC3GFXMPL",
    "Account": "210987654321",
    "Arn": "arn:aws:iam::210987654321:user/devenv"
}
```

## Erstellen Sie ein Container-Image
<a name="applications-deploy-build"></a>

Ihr Anwendungscode ist in einem Docker-Container-Image verpackt, das den Anwendungscode und die Bibliotheken enthält, die Sie in Ihrem Dockerfile installieren. Verwenden Sie den `build-container` CLI-Befehl AWS Panorama Application, um ein Docker-Image zu erstellen und ein Dateisystem-Image zu exportieren.

```
my-app$ panorama-cli build-container --container-asset-name code_asset --package-path packages/210987654321-SAMPLE_CODE-1.0
{
    "name": "code_asset",
    "implementations": [
        {
            "type": "container",
            "assetUri": "5fa5xmplbc8c16bf8182a5cb97d626767868d3f4d9958a4e49830e1551d227c5.tar.gz",
            "descriptorUri": "1872xmpl129481ed053c52e66d6af8b030f9eb69b1168a29012f01c7034d7a8f.json"
        }
    ]
}
Container asset for the package has been succesfully built at assets/5fa5xmplbc8c16bf8182a5cb97d626767868d3f4d9958a4e49830e1551d227c5.tar.gz
```

Dieser Befehl erstellt ein Docker-Image mit dem Namen `code_asset` und exportiert ein Dateisystem in ein `.tar.gz` Archiv im Ordner. `assets` Die CLI ruft das Basisimage der Anwendung aus Amazon Elastic Container Registry (Amazon ECR) ab, wie in der Dockerfile der Anwendung angegeben.

Zusätzlich zum Containerarchiv erstellt die CLI ein Asset für den Paketdeskriptor (`descriptor.json`). Beide Dateien werden mit einer eindeutigen Kennung umbenannt, die einen Hash der Originaldatei widerspiegelt. Die AWS Panorama Application CLI fügt der Paketkonfiguration außerdem einen Block hinzu, der die Namen der beiden Assets aufzeichnet. Diese Namen werden von der Appliance während des Bereitstellungsprozesses verwendet.

**Example [packages/123456789012-sample\$1code-1.0/package.json](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/sample-apps/aws-panorama-sample/packages/123456789012-SAMPLE_CODE-1.0/package.json) — mit Asset-Block**  

```
{
    "nodePackage": {
        "envelopeVersion": "2021-01-01",
        "name": "SAMPLE_CODE",
        "version": "1.0",
        "description": "Computer vision application code.",
        "assets": [
            {
                "name": "code_asset",
                "implementations": [
                    {
                        "type": "container",
                        "assetUri": "5fa5xmplbc8c16bf8182a5cb97d626767868d3f4d9958a4e49830e1551d227c5.tar.gz",
                        "descriptorUri": "1872xmpl129481ed053c52e66d6af8b030f9eb69b1168a29012f01c7034d7a8f.json"
                    }
                ]
            }
        ],
        "interfaces": [
            {
                "name": "interface",
                "category": "business_logic",
                "asset": "code_asset",
                "inputs": [
                    {
                        "name": "video_in",
                        "type": "media"
                    },
```

Der Name des Code-Assets, der im Befehl angegeben wurde, muss mit dem Wert des Felds in der Paketkonfiguration übereinstimmen. `build-container` `asset` Im vorherigen Beispiel sind beide Werte`code_asset`.

## Importieren Sie ein Modell
<a name="applications-deploy-model"></a>

Ihre Anwendung hat möglicherweise ein Modellarchiv im Assets-Ordner oder das Sie separat herunterladen. Wenn Sie über ein neues Modell, ein aktualisiertes Modell oder eine aktualisierte Modelldeskriptordatei verfügen, importieren Sie es mit dem `add-raw-model` Befehl.

```
my-app$ panorama-cli add-raw-model --model-asset-name model_asset \
      --model-local-path my-model.tar.gz \
      --descriptor-path packages/210987654321-SQUEEZENET_PYTORCH-1.0/descriptor.json \
      --packages-path packages/210987654321-SQUEEZENET_PYTORCH-1.0
```

Wenn Sie nur die Deskriptordatei aktualisieren müssen, können Sie das vorhandene Modell im Assets-Verzeichnis wiederverwenden. Möglicherweise müssen Sie die Deskriptordatei aktualisieren, um Funktionen wie den Gleitkomma-Präzisionsmodus zu konfigurieren. Das folgende Skript zeigt beispielsweise, wie Sie dies mit der Beispiel-App tun können.

**Example [util-scripts/ .sh update-model-config](https://github.com/awsdocs/aws-panorama-developer-guide/blob/main/util-scripts/update-model-config.sh)**  

```
#!/bin/bash
set -eo pipefail
MODEL_ASSET=fd1axmplacc3350a5c2673adacffab06af54c3f14da6fe4a8be24cac687a386e
MODEL_PACKAGE=SQUEEZENET_PYTORCH
ACCOUNT_ID=$(ls packages | grep -Eo '[0-9]{12}' | head -1)
panorama-cli add-raw-model --model-asset-name model_asset --model-local-path assets/${MODEL_ASSET}.tar.gz --descriptor-path packages/${ACCOUNT_ID}-${MODEL_PACKAGE}-1.0/descriptor.json --packages-path packages/${ACCOUNT_ID}-${MODEL_PACKAGE}-1.0
cp packages/${ACCOUNT_ID}-${MODEL_PACKAGE}-1.0/package.json packages/${ACCOUNT_ID}-${MODEL_PACKAGE}-1.0/package.json.bup
```

Änderungen an der Deskriptordatei im Modellpaketverzeichnis werden erst übernommen, wenn Sie sie mit der CLI erneut importieren. Die CLI aktualisiert die Modellpaketkonfiguration direkt mit den neuen Asset-Namen, ähnlich wie sie die Konfiguration für das Anwendungscodepaket aktualisiert, wenn Sie einen Container neu erstellen.

## Laden Sie Anwendungsressourcen hoch
<a name="applications-deploy-package"></a>

Verwenden Sie den Befehl, um die Ressourcen der Anwendung hochzuladen und zu registrieren, zu denen das Modellarchiv, das Container-Dateisystemarchiv und die `package-application` zugehörigen Deskriptordateien gehören.

```
my-app$ panorama-cli package-application
Uploading package SQUEEZENET_PYTORCH
Patch version for the package 5d3cxmplb7113faa1d130f97f619655d8ca12787c751851a0e155e50eb5e3e96
Deregistering previous patch version e845xmpl8ea0361eb345c313a8dded30294b3a46b486dc8e7c174ee7aab29362
Asset fd1axmplacc3350a5c2673adacffab06af54c3f14da6fe4a8be24cac687a386e.tar.gz already exists, ignoring upload
upload: assets/87fbxmpl6f18aeae4d1e3ff8bbc6147390feaf47d85b5da34f8374974ecc4aaf.json to s3://arn:aws:s3:us-east-2:212345678901:accesspoint/panorama-210987654321-6k75xmpl2jypelgzst7uux62ye/210987654321/nodePackages/SQUEEZENET_PYTORCH/binaries/87fbxmpl6f18aeae4d1e3ff8bbc6147390feaf47d85b5da34f8374974ecc4aaf.json
Called register package version for SQUEEZENET_PYTORCH with patch version 5d3cxmplb7113faa1d130f97f619655d8ca12787c751851a0e155e50eb5e3e96
...
```

Wenn es keine Änderungen an einer Asset-Datei oder der Paketkonfiguration gibt, überspringt die CLI sie.

```
Uploading package SAMPLE_CODE
Patch Version ca91xmplca526fe3f07821fb0c514f70ed0c444f34cb9bd3a20e153730b35d70 already registered, ignoring upload
Register patch version complete for SQUEEZENET_PYTORCH with patch version 5d3cxmplb7113faa1d130f97f619655d8ca12787c751851a0e155e50eb5e3e96
Register patch version complete for SAMPLE_CODE with patch version ca91xmplca526fe3f07821fb0c514f70ed0c444f34cb9bd3a20e153730b35d70
All packages uploaded and registered successfully
```

Die CLI lädt die Ressourcen für jedes Paket auf einen Amazon S3 S3-Zugangspunkt hoch, der für Ihr Konto spezifisch ist. AWS Panorama verwaltet den Access Point für Sie und stellt Informationen darüber über die [DescribePackage](https://docs.aws.amazon.com/panorama/latest/api/API_DescribePackage.html)API bereit. Die CLI lädt die Ressourcen für jedes Paket an den für dieses Paket angegebenen Speicherort hoch und registriert sie beim AWS Panorama Panorama-Service mit den in der Paketkonfiguration beschriebenen Einstellungen.

## Stellen Sie eine Anwendung mit der AWS Panorama Panorama-Konsole bereit
<a name="applications-manage-deploy"></a>

Sie können eine Anwendung mit der AWS-Panorama-Konsole bereitstellen. Während des Bereitstellungsprozesses wählen Sie aus, welche Kamerastreams an den Anwendungscode übergeben werden sollen, und konfigurieren die vom Entwickler der Anwendung bereitgestellten Optionen.

**Um eine Anwendung bereitzustellen**

1. Öffnen Sie die [Seite Bereitgestellte Anwendungen](https://console.aws.amazon.com/panorama/home#deployed-applications) der AWS-Panorama-Konsole.

1. Wählen Sie **Anwendung bereitstellen**.

1. Fügen Sie den Inhalt des Anwendungsmanifests,`graph.json`, in den Texteditor ein. Wählen Sie **Weiter**.

1. Geben Sie einen Namen und eine Beschreibung ein.

1. Wählen Sie **Weiter zur Bereitstellung** aus.

1. Wählen Sie Mit **der Bereitstellung beginnen** aus.

1. Wenn Ihre Anwendung [eine Rolle verwendet](permissions-application.md), wählen Sie sie aus dem Drop-down-Menü aus. Wählen Sie **Weiter**.

1. **Wählen Sie Gerät auswählen** und wählen Sie dann Ihr Gerät aus. Wählen Sie **Weiter**.

1. **Wählen Sie im Schritt Datenquellen** auswählen die Option **Eingabe (en) anzeigen** aus und fügen Sie Ihren Kamerastream als Datenquelle hinzu. Wählen Sie **Weiter**.

1. **Konfigurieren Sie im Schritt Konfigurieren** alle anwendungsspezifischen Einstellungen, die vom Entwickler definiert wurden. Wählen Sie **Weiter**.

1. **Wählen Sie **Bereitstellen** und dann Fertig aus.**

1. Wählen Sie in der Liste der bereitgestellten Anwendungen die Anwendung aus, deren Status überwacht werden soll.

Der Bereitstellungsvorgang dauert 15 bis 20 Minuten. Die Ausgabe der Appliance kann für einen längeren Zeitraum leer sein, während die Anwendung gestartet wird. Wenn Sie auf einen Fehler stoßen, finden Sie weitere Informationen unter[Fehlerbehebung](panorama-troubleshooting.md).

## Automatisieren Sie die Anwendungsbereitstellung
<a name="applications-deploy-automate"></a>

Sie können den Prozess der Anwendungsbereitstellung mit der [CreateApplicationInstance](https://docs.aws.amazon.com/panorama/latest/api/API_CreateApplicationInstance.html)API automatisieren. Die API verwendet zwei Konfigurationsdateien als Eingabe. Das Anwendungsmanifest spezifiziert die verwendeten Pakete und ihre Beziehungen. Bei der zweiten Datei handelt es sich um eine Überschreibungsdatei, in der Werte im Anwendungsmanifest während der Bereitstellung außer Kraft gesetzt werden. Mithilfe einer Overrides-Datei können Sie dasselbe Anwendungsmanifest verwenden, um die Anwendung mit unterschiedlichen Kamerastreams bereitzustellen und andere anwendungsspezifische Einstellungen zu konfigurieren.

Weitere Informationen und Beispielskripts für jeden der Schritte in diesem Thema finden Sie unter. [Automatisieren Sie die Anwendungsbereitstellung](api-deploy.md)