

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.

# Produkte löschen
<a name="productmgmt-delete"></a>

Wenn Sie ein Produkt löschen, AWS Service Catalog werden alle Produktversionen aus allen Portfolios entfernt, die das Produkt enthalten. 

AWS Service Catalog ermöglicht es Ihnen, ein Produkt über die AWS Service Catalog Konsole zu löschen oder AWS CLI. Um ein Produkt erfolgreich zu löschen, müssen Sie zuerst die Zuordnung aller Ressourcen aufheben, die dem Produkt zugeordnet sind. Zu den Zuordnungen von Produktressourcen gehören beispielsweise Portfoliozuordnungen TagOptions, Budgets und Serviceaktionen. 

**Wichtig**  
 Sie können ein gelöschtes Produkt nicht wiederherstellen. 

**Um ein Produkt mit der AWS Service Catalog Konsole zu löschen**

1.  Navigieren Sie zur **Portfolio-Seite** und wählen Sie das Portfolio aus, das das Produkt enthält, das Sie löschen möchten. 

1.  Wählen Sie das Produkt aus, das Sie löschen möchten, und klicken Sie dann oben rechts im Produktbereich auf **Löschen**. 

1. Bestätigen Sie bei Produkten, *denen keine Ressourcen zugeordnet sind*, das Produkt, das Sie löschen möchten, indem Sie **Löschen** in das Textfeld eingeben, und wählen Sie dann **Löschen** aus. 

   Fahren Sie bei Produkten *mit zugehörigen Ressourcen* mit Schritt 4 fort. 

1. Sehen **Sie sich im Fenster Produkt löschen** die Tabelle **Zuordnungen** an, in der alle dem Produkt zugewiesenen Ressourcen angezeigt werden. AWS Service Catalog versucht, die Zuordnung dieser Ressourcen aufzuheben, wenn Sie das Produkt löschen. 

1. Bestätigen Sie, dass Sie das Produkt und alle zugehörigen Ressourcen löschen möchten, indem **Sie Löschen** in das Textfeld eingeben. 

1. Wählen Sie „**Trennen und löschen“**. 

Wenn AWS Service Catalog die Zuordnung aller Ressourcen des Produkts nicht aufgehoben werden kann, wird das Produkt nicht gelöscht. Im Fenster **Produkt löschen** werden die Anzahl der fehlgeschlagenen Trennungen sowie eine Beschreibung für jeden Fehler angezeigt. Weitere Informationen zur Behebung fehlgeschlagener Ressourcenzuordnungen beim Löschen eines Produkts finden Sie weiter unten unter *Beheben fehlgeschlagener Ressourcenzuordnungen beim Löschen* eines Produkts. 

**Topics**
+ [Löschen von Produkten mit dem AWS CLI](product-delete-cli.md)
+ [Behebung fehlgeschlagener Ressourcenzuordnungen beim Löschen eines Produkts](product-delete-exception.md)

# Löschen von Produkten mit dem AWS CLI
<a name="product-delete-cli"></a>

AWS Service Catalog ermöglicht es Ihnen, das [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)(AWS CLI) zu verwenden, um Produkte aus Ihrem Portfolio zu löschen. Das AWS CLI ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS Diensten interagieren können. AWS Service Catalog Für die Funktion Force-Delete ist ein [AWS CLI Alias](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html) erforderlich. Dabei handelt es sich um eine Abkürzung, die Sie in der erstellen können AWS CLI , um häufig verwendete Befehle oder Skripts zu kürzen. 

## Voraussetzungen
<a name="product-delete-cli-requirements"></a>
+ Installieren und Konfigurieren der AWS CLI. Weitere Informationen finden Sie unter [Installation oder Aktualisierung der neuesten Version von AWS CLI und Grundlagen der](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) [Konfiguration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). Verwenden Sie eine AWS CLI Mindestversion von 1.11.24 oder 2.0.0. 
+ Der CLI-Alias Delete Product erfordert ein Bash-kompatibles Terminal und den JQ-Befehlszeilen-JSON-Prozessor. [Weitere Informationen zur Installation des Befehlszeilen-JSON-Prozessors finden Sie unter Laden Sie jq herunter.](https://stedolan.github.io/jq/download/) 
+ Erstellen Sie einen AWS CLI Alias für `Disassociation` Batch-API-Aufrufe, sodass Sie ein Produkt mit einem einzigen Befehl löschen können. 

Um ein Produkt erfolgreich zu löschen, müssen Sie zuerst die Zuordnung aller Ressourcen aufheben, die dem Produkt zugeordnet sind. Zu den Zuordnungen von Produktressourcen gehören beispielsweise Portfoliozuordnungen, Budgets, Tag-Optionen und Serviceaktionen. Wenn Sie die CLI zum Löschen eines Produkts verwenden, können Sie mit `force-delete-product` dem CLI-Alias die `Disassociate` API aufrufen, um alle Ressourcen zu trennen, die die `DeleteProduct` API verhindern würden. Dadurch wird ein separater Aufruf für einzelne Trennungen vermieden. 

**Anmerkung**  
Die in den folgenden Verfahren aufgeführten Dateipfade können je nachdem, welches Betriebssystem Sie für diese Aktionen verwenden, variieren. 

## Einen AWS CLI Alias zum Löschen von AWS Service Catalog Produkten erstellen
<a name="product-delete-cli-alias"></a>

Wenn Sie das AWS CLI zum Löschen eines AWS Service Catalog Produkts verwenden, können Sie mit `force-delete-product` dem CLI-Alias die `Disassociate` API aufrufen, um alle Ressourcen zu trennen, die den `DeleteProduct` Aufruf verhindern würden. 

**Erstellen Sie eine `alias` Datei in Ihrem AWS CLI Konfigurationsordner**

1. Navigieren Sie in der AWS CLI Konsole zum Konfigurationsordner. Standardmäßig ist der Pfad des Konfigurationsordners `~/.aws/` unter Linux und macOS oder `%USERPROFILE%\.aws\` unter Windows. 

1. Erstellen Sie `cli` mithilfe der Dateinavigation oder durch Eingabe des folgenden Befehls in Ihrem bevorzugten Terminal einen Unterordner mit dem Namen: 

   ```
                $ mkdir -p ~/.aws/cli
   ```

   Der resultierende Standardpfad für den `cli` Ordner ist `~/.aws/cli/` unter Linux und macOS oder `%USERPROFILE%\.aws\cli` unter Windows. 

1. Erstellen Sie im neuen `cli` Ordner eine Textdatei `alias` mit dem Namen ohne Dateierweiterung. Sie können die `alias` Datei mithilfe der Dateinavigation oder durch Eingabe des folgenden Befehls in Ihrem bevorzugten Terminal erstellen: 

   ```
                 $ touch ~/.aws/cli/alias
   ```

1. Geben Sie `[toplevel]` in der ersten Zeile ein.

1. Speichern Sie die Datei. 

Als Nächstes können Sie den force-delete-product Alias zu Ihrer `alias` Datei hinzufügen, indem Sie das Alias-Skript manuell in die Datei einfügen oder einen Befehl im Terminalfenster verwenden. 

**Fügen Sie den force-delete-product Alias manuell zu Ihrer `alias` Datei hinzu**

1. Navigieren Sie in der AWS CLI Konsole zu Ihrem AWS CLI Konfigurationsordner und öffnen Sie die `alias` Datei. 

1. Geben Sie den folgenden Code-Alias in die Datei unter der `[toplevel]` Zeile ein: 

   ```
                [command servicecatalog]
             	 force-delete-product =
             	   !f() {
             	     if [ "$#" -ne 1 ]; then
             	         echo "Illegal number of parameters"
             	         exit 1
             	     fi
             	 
             	     if [[ "$1" != prod-* ]]; then
             	        echo "Please provide a valid product id."
             	        exit 1
             	     fi
             	 
             	     productId=$1
             	     describeProductAsAdminResponse=$(aws servicecatalog describe-product-as-admin --id $productId)
             	     listPortfoliosForProductResponse=$(aws servicecatalog list-portfolios-for-product --product-id $productId)
             	 
             	     tagOptions=$(echo "$describeProductAsAdminResponse" | jq -r '.TagOptions[].Id')
             	     budgetName=$(echo "$describeProductAsAdminResponse" | jq -r '.Budgets[].BudgetName')
             	     portfolios=$(echo "$listPortfoliosForProductResponse" | jq -r '.PortfolioDetails[].Id')
             	     provisioningArtifacts=$(echo "$describeProductAsAdminResponse" | jq -r '.ProvisioningArtifactSummaries[].Id')
             	     provisioningArtifactServiceActionAssociations=()
             	 
             	     for provisioningArtifactId in $provisioningArtifacts; do
             	       listServiceActionsForProvisioningArtifactResponse=$(aws servicecatalog list-service-actions-for-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId)
             	       serviceActions=$(echo "$listServiceActionsForProvisioningArtifactResponse" | jq -r '[.ServiceActionSummaries[].Id] | join(",")')
             	       if [[ -n "$serviceActions" ]]; then
             	         provisioningArtifactServiceActionAssociations+=("${provisioningArtifactId}:${serviceActions}")
             	       fi
             	     done
             	 
             	     echo "Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated."
             	 
             	     echo "Portfolios:"
             	     for portfolioId in $portfolios; do
             	       echo "\t${portfolioId}"
             	     done
             	 
             	     echo "Budgets:"
             	     if [[ -n "$budgetName" ]]; then
             	       echo "\t${budgetName}"
             	     fi
             	 
             	     echo "Tag Options:"
             	     for tagOptionId in $tagOptions; do
             	       echo "\t${tagOptionId}"
             	     done
             	 
             	     echo "Service Actions on Provisioning Artifact:"
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       echo "\t${association}"
             	     done
             	 
             	     read -p "Are you sure you want to delete ${productId}? y,n "
             	     if [[ ! $REPLY =~ ^[Yy]$ ]]; then
             	        exit
             	     fi
             	 
             	     for portfolioId in $portfolios; do
             	       echo "Disassociating ${portfolioId}"
             	       aws servicecatalog disassociate-product-from-portfolio --product-id $productId --portfolio-id $portfolioId
             	     done
             	 
             	     if [[ -n "$budgetName" ]]; then
             	       echo "Disassociating ${budgetName}"
             	       aws servicecatalog disassociate-budget-from-resource --budget-name "$budgetName" --resource-id $productId
             	     fi
             	 
             	     for tagOptionId in $tagOptions; do
             	       echo "Disassociating ${tagOptionId}"
             	       aws servicecatalog disassociate-tag-option-from-resource --tag-option-id $tagOptionId --resource-id $productId
             	     done
             	 
             	     for association in "${provisioningArtifactServiceActionAssociations[@]}"; do
             	       associationPair=(${association//:/ })
             	       provisioningArtifactId=${associationPair[0]}
             	       serviceActionsList=${associationPair[1]}
             	       serviceActionIds=${serviceActionsList//,/ }
             	       for serviceActionId in $serviceActionIds; do
             	         echo "Disassociating ${serviceActionId} from ${provisioningArtifactId}"
             	         aws servicecatalog disassociate-service-action-from-provisioning-artifact --product-id $productId --provisioning-artifact-id $provisioningArtifactId --service-action-id $serviceActionId
             	       done
             	     done
             	 
             	     echo "Deleting product ${productId}"
             	     aws servicecatalog delete-product --id $productId
             	 
             	   }; f
   ```

1. Speichern Sie die Datei. 

**Verwenden Sie das Terminalfenster, um den force-delete-product Alias zu Ihrer `alias` Datei hinzuzufügen**

1. Öffnen Sie Ihr Terminalfenster und führen Sie den folgenden Befehl aus

   `$ cat >> ~/.aws/cli/alias`

1. Fügen Sie das Alias-Skript in das Terminalfenster ein, und drücken Sie dann *STRG\$1D*, um den `cat` Befehl zu beenden. 

**Rufen Sie den Alias auf force-delete-product**

1. Führen Sie in Ihrem Terminalfenster den folgenden Befehl aus, um den Delete Product-Alias aufzurufen

   `$ aws servicecatalog force-delete-product {product-id} `

   Das folgende Beispiel zeigt den `force-delete-product` Alias-Befehl und die daraus resultierende Antwort 

   ```
                 $ aws servicecatalog force-delete-product prod-123
   ```

   ```
                 Before deleting a product, the following associated resources must be disassociated. These resources will not be deleted. This action may take some time, depending on the number of resources being disassociated.
                 Portfolios:
                   port-123
                 Budgets:
                     budgetName
                 Tag Options:
                     tag-123
                 Service Actions on Provisioning Artifact:
                     pa-123:act-123
                 Are you sure you want to delete prod-123? y,n
   ```

1. Geben Sie ein`y`, um zu bestätigen, dass Sie das Produkt löschen möchten. 

Nach dem erfolgreichen Löschen des Produkts werden im Terminalfenster die folgenden Ergebnisse angezeigt

```
          Disassociating port-123
          Disassociating budgetName
          Disassociating tag-123
          Disassociating act-123 from pa-123
          Deleting product prod-123
```

## Weitere Ressourcen
<a name="product-delete-cli-resources"></a>

Weitere Informationen AWS CLI zur Verwendung von Aliasnamen und zum Löschen von AWS Service Catalog Produkten finden Sie in den folgenden Ressourcen:
+ [Erstellen und Verwenden von AWS CLI Aliasen](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-alias.html) im *AWS Command Line Interface (CLI) -Benutzerhandbuch*. 
+ [AWS CLI Alias-Repository](https://github.com/awslabs/awscli-aliases), Git-Repository. 
+ [AWS Service Catalog Produkte werden gelöscht](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html). 
+ [AWS re:Invent 2016: Der effektive AWS CLI Nutzer](https://youtu.be/Xc1dHtWa9-Q?t=1593) auf. *YouTube* 

# Behebung fehlgeschlagener Ressourcenzuordnungen beim Löschen eines Produkts
<a name="product-delete-exception"></a>

Wenn Ihr früherer Versuch, [ein Produkt zu löschen](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-delete.html), aufgrund von Ausnahmen bei der Trennung von Ressourcen fehlgeschlagen ist, sehen Sie sich die Liste der Ausnahmen und deren Lösungen unten an. 

**Anmerkung**  
Wenn Sie das Fenster **Produkte löschen** geschlossen haben, bevor Sie die Meldung zur fehlgeschlagenen Trennung von Ressourcen erhalten haben, können Sie die Schritte eins bis drei im Abschnitt *Produkt löschen* ausführen, um das Fenster erneut zu öffnen.

**So beheben Sie eine fehlgeschlagene Trennung von Ressourcen**

Prüfen **Sie im Fenster Produkt löschen** die **Statusspalte in der Tabelle Zuordnungen**. Identifizieren Sie die fehlgeschlagene Ausnahme zur Trennung der Ressourcenzuweisung und die vorgeschlagenen Lösungen:


****  

| Art der Status-Ausnahme | Ursache | Auflösung | 
| --- | --- | --- | 
| Produktprodukt-\$1\$1\$1\$1 | AWS Service Catalog konnte das Produkt nicht löschen TagOptions, weil dem Produkt noch Budgets zugeordnet sind, mindestens eines ProvisioningArtifact mit zugehörigen Aktionen, das Produkt immer noch einem Portfolio zugewiesen ist, dem Produkt Benutzer zugewiesen sind oder das Produkt Einschränkungen aufweist.  | Versuchen Sie erneut, das Produkt zu löschen. | 
| Benutzer: username ist nicht berechtigt, Folgendes auszuführen: | Der Benutzer, der versucht, das Produkt zu löschen, verfügt nicht über die erforderlichen Berechtigungen, um die Zuordnung der Produktressourcen aufzuheben.  | AWS Service Catalog empfiehlt, sich an Ihren Kontoadministrator zu wenden, um weitere Informationen zum Trennen der Zuordnung von Produktressourcen zu erhalten, für die Sie derzeit nicht berechtigt sind.  | 