

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.

# Inhalt durch Cache-Tags ungültig machen
<a name="invalidation-by-tags"></a>

Amazon CloudFront unterstützt Tag-Invalidierungen, sodass Sie zwischengespeicherte Objekte anhand semantischer Tags und nicht anhand von URL-Pfaden ungültig machen können. Auf diese Weise haben Sie eine flexible Kontrolle über die Cache-Invalidierung, ohne dass Ihre URL-Struktur Ihrer Invalidierungsstrategie entsprechen muss.

## So funktioniert die Invalidierung von Tags
<a name="invalidation-by-tags-how-it-works"></a>

1. **Konfigurieren Sie Ihre Distribution**: Fügen Sie Ihrer Distribution eine ` CacheTagConfig` hinzu, in der Sie den HTTP-Header-Namen angeben, den Ihr Origin für die Rückgabe von Cache-Tags verwendet.

1. **Kennzeichnen Sie Objekte an Ihrem Ursprung**: Wenn Sie ein Objekt zurückgeben, das Sie mit Tags zwischenspeichern möchten, konfigurieren Sie Ihren Ursprung so, dass der angegebene Header in HTTP-Antworten mit kommagetrennten Tagwerten enthalten ist.

   ```
   HTTP/1.1 200 OK
   Content-Type: text/html
   x-amz-meta-cache-tag: product:electronics, category:tv, brand:example
   Cache-Control: max-age=3600
   ```
**Anmerkung**  
Für S3-Ursprünge können Sie Cache-Tags als Metadaten an Ihre S3-Objekte anhängen. Sie können einen Metadateneintrag mit einem Schlüssel Ihrer Wahl (Beispiel:` cache-tag`) und einer durch Kommas getrennten Liste von Tags als Wert hinzufügen (Beispiel:`product:electronics, category:tv, brand:example`).  
S3 zeigt Objektmetadaten als Antwort-Header mit Präfix an` x-amz-meta-<Key>`, sodass ein Metadatenschlüssel von als Header zurückgegeben `cache-tag` würde. `x-amz-meta-cache-tag` Sie können das ` HeaderName` in Ihrem Browser auf einstellen, `CacheTagConfig` ` x-amz-meta-cache-tag` um das Senden von Ungültigerklärungen an diese Tags zu ermöglichen.
**Anmerkung**  
Alternativ können Sie Ihrem Cache-Verhalten eine Origin-Response-Lambda @Edge -Funktion hinzufügen, um Cache-Tag-Header hinzuzufügen. Wenn Sie Lambda @Edge verwenden, muss der Header-Name nicht dem `x-amz-meta-<Key>` Format folgen.

1. **Nach Tag ungültig machen**: Verwenden Sie die ` CreateInvalidation` API mit dem `#` Präfix, um alle Objekte, die mit dem angegebenen Tag zwischengespeichert wurden, ungültig zu machen.

   ```
   aws cloudfront create-invalidation \
     --distribution-id {{distribution_ID}} \
     --paths "#product:electronics"
   ```

   Dadurch werden ALLE zwischengespeicherten Objekte, die das Tag enthalten, ungültig gemacht` product:electronics`, unabhängig von ihrem URL-Pfad.

## Anforderungen an das Tag-Format
<a name="invalidation-by-tags-format"></a>

 **Header-Wert der Origin-Antwort:** 
+ Tags sind im Header-Wert durch Kommas getrennt.
+ Leerzeichen am Anfang und am Ende jedes Tags werden gekürzt.
+ Beide `tag1, tag2, tag3` sind gültig `tag1,tag2,tag3` und gleichwertig.

 **Einzelne Tag-Werte:** 
+ Sichtbare ASCII-Zeichen (33—126)
+ Keine Steuerzeichen, Leerzeichen oder Kommas
+ Groß-/Kleinschreibung wird nicht beachtet
+ Maximal 256 Zeichen pro Tag
+ Maximal 50 Tags pro Objekt (zusätzliche Tags werden ignoriert)

## Konfiguration einer Distribution für Tag-Invalidierungen
<a name="invalidation-by-tags-configuring"></a>

Um Tag-Invalidierungen zu aktivieren, fügen Sie Ihrer Distributionskonfiguration eine `CacheTagConfig` hinzu:

```
aws cloudfront create-distribution \
  --distribution-config '{
    "CallerReference": "my-distribution",
    "CacheTagConfig": {
      "HeaderName": "x-amz-meta-cache-tag"
    },
    "DefaultCacheBehavior": {
      "TargetOriginId": "myOrigin",
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6"
    },
    "Origins": { ... },
    "Enabled": true,
    "Comment": "Distribution with tag support"
  }'
```

## Ungültigerklärungen für Tags erstellen
<a name="invalidation-by-tags-creating"></a>

Verwenden Sie das `#` Präfix im `--paths` Parameter, um Tags anzugeben:

```
# Invalidate all objects tagged with "user1"
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "#user1"

# Invalidate objects matching any of multiple tags (OR logic)
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "#user1" "#product-category:electronics"

# Mix path and tag invalidations in one batch
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "/index.html" "#user1" "/images/*" "#product-category:electronics"
```

## Der Ungültigkeitsstatus wird überprüft
<a name="invalidation-by-tags-checking-status"></a>

Wird verwendet`GetInvalidation`, um den Status zu überprüfen. Die Antwort umfasst sowohl Pfad- als auch Tag-Elemente:

```
aws cloudfront get-invalidation \
  --distribution-id {{distribution_ID}} \
  --id {{invalidation_ID}}
```

## Wichtige Überlegungen
<a name="invalidation-by-tags-considerations"></a>
+ **Anmeldung erforderlich**: Die Invalidierung von Tags funktioniert nur bei Distributionen, die konfiguriert wurden. `CacheTagConfig` Distributionen ohne diese Konfiguration ignorieren die Cache-Tag-Header des Ursprungs.
+ **Grenzwerte für die Tag-Verarbeitung**: CloudFront verarbeitet bis zu 50 Tags pro zwischengespeichertem Objekt. Wenn eine ursprüngliche Antwort mehr als 50 Tags enthält, werden die zusätzlichen Tags, die das Limit überschreiten, nicht gespeichert.
+ **Änderung des Header-Namens**: Ungültigerklärungen von Tags werden anhand der aktuellen `CacheTagConfig` Konfiguration gesucht. Wenn Sie das `HeaderName` ändern, werden Ungültigerklärungen für Objekte`CacheTagConfig`, die mit Tags unter dem alten Header-Namen zwischengespeichert wurden, nicht mehr ausgewertet. Wenn Sie den Header-Namen ändern müssen, beginnen Sie damit, sowohl die neuen als auch die alten Cache-Tag-Header mit Ihren Objekten zurückzugeben. Führen Sie dann eine Pfadinvalidierung durch (z. B.`/*`) oder machen Sie vorhandene Tags ungültig, bevor Sie den Header-Namen ändern, um zu verhindern, dass veraltete Inhalte bereitgestellt werden. Sobald das erledigt ist, können Sie aufhören, den Header der alten Cache-Tags zusammen mit Ihren Objekten zu senden.
+ **Entfernen CacheTagConfig**: Wenn Sie ` CacheTagConfig` aus einer Verteilung entfernen, wird das Extrahieren von Tags aus den ursprünglichen Antworten CloudFront beendet. Bestehende zwischengespeicherte Objekte mit Tags werden normal bereitgestellt, bis sie ablaufen oder aufgrund des Pfads ungültig gemacht werden.
+ **Abwärtskompatibilität**: Bestehende Pfad- und Platzhalter-Invalidierungen funktionieren weiterhin unverändert. Tag-Invalidierungen sind additiv — Sie können beide Methoden für dieselbe Distribution verwenden.
+ **Distributionsmandanten**: Die Ungültigerklärung von Tags wird auch für Distributionsmandanten über die API unterstützt. ` CreateInvalidationForDistributionTenant`

## Beispielanwendungsfälle
<a name="invalidation-by-tags-examples"></a>

### Beispiel 1: E-Commerce-Produktkatalog
<a name="invalidation-by-tags-example-ecommerce"></a>

Eine E-Commerce-Website kennzeichnet zwischengespeicherte Produktseiten mit Produkt, Kategorie und Marke:

```
x-amz-meta-cache-tag: category:electronics, brand:acme, product:12345
```

Wenn ACME ihr Branding aktualisiert, machen Sie alle ACME-Produkte gleichzeitig ungültig:

```
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "#brand:acme"
```

### Beispiel 2: Plattform für nutzergenerierte Inhalte
<a name="invalidation-by-tags-example-ugc"></a>

Eine Plattform kennzeichnet zwischengespeicherte Inhalte mit der Benutzer-ID des Besitzers:

```
x-amz-meta-cache-tag: user:12345, content-type:image
```

Wenn ein Benutzer sein Konto schließt, machen Sie alle seine Inhalte ungültig, nachdem Sie sie aus dem ursprünglichen Konto entfernt haben:

```
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "#user:12345"
```

### Beispiel 3: Versionierung von Inhalten
<a name="invalidation-by-tags-example-versioning"></a>

Ein CMS kennzeichnet Inhalte mit Versions-Identifikatoren:

```
x-amz-meta-cache-tag: version:v2, template:homepage
```

Wenn Sie eine neue Version bereitstellen, machen Sie den gesamten Inhalt der Version 2 ungültig:

```
aws cloudfront create-invalidation \
  --distribution-id {{distribution_ID}} \
  --paths "#version:v2"
```