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.
Verwalten von Amazon- CloudFront Ungültigkeiten mit der CloudFront API und der AWS SDK for PHP Version 3
Amazon CloudFront speichert Kopien statischer und dynamischer Dateien an globalen Edge-Standorten zwischen. Erstellen Sie zum Entfernen oder Aktualisieren einer Datei auf allen Edge-Standorten eine Aufhebung für alle Dateien bzw. für eine Gruppe von Dateien.
Die ersten 1.000 Aufhebungen jedes Kalendermonats sind kostenlos. Weitere Informationen zum Entfernen von Inhalten von einem CloudFront Edge-Standort finden Sie unter Aufheben der Gültigkeit von Dateien.
In den nachstehenden Beispielen wird Folgendes veranschaulicht:
-
Erstellen Sie eine Verteilungsinvalidierung mit CreateInvalidation.
-
Abrufen einer Verteilungsinvalidierung mit GetInvalidation.
-
Auflisten von Verteilungen mit ListInvalidations.
Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHub
Anmeldeinformationen
Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.
Weitere Informationen zur Verwendung von Amazon CloudFrontfinden Sie im Amazon- CloudFront Entwicklerhandbuch.
Erstellen einer Verteilungsinvalidierung
Erstellen Sie eine Aufhebung der CloudFront Verteilung, indem Sie den Pfadspeicherort für die Dateien angeben, die Sie entfernen müssen. Dieses Beispiel hebt die Gültigkeit aller Dateien in der Verteilung auf, aber Sie können bestimmte Dateien unter Items
identifizieren.
Um eine CloudFront Verteilungsinvalidierung zu erstellen, verwenden Sie die -CreateInvalidationOperation.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Beispiel-Code
function createInvalidation( $cloudFrontClient, $distributionId, $callerReference, $paths, $quantity ) { try { $result = $cloudFrontClient->createInvalidation([ 'DistributionId' => $distributionId, 'InvalidationBatch' => [ 'CallerReference' => $callerReference, 'Paths' => [ 'Items' => $paths, 'Quantity' => $quantity, ], ] ]); $message = ''; if (isset($result['Location'])) { $message = 'The invalidation location is: ' . $result['Location']; } $message .= ' and the effective URI is ' . $result['@metadata']['effectiveUri'] . '.'; return $message; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function createTheInvalidation() { $distributionId = 'E17G7YNEXAMPLE'; $callerReference = 'my-unique-value'; $paths = ['/*']; $quantity = 1; $cloudFrontClient = new Aws\CloudFront\CloudFrontClient([ 'profile' => 'default', 'version' => '2018-06-18', 'region' => 'us-east-1' ]); echo createInvalidation( $cloudFrontClient, $distributionId, $callerReference, $paths, $quantity ); } // Uncomment the following line to run this code in an AWS account. // createTheInvalidation();
Abrufen einer Verteilungsinvalidierung
Um den Status und Details zu einer CloudFront Verteilungsinvalidierung abzurufen, verwenden Sie die -GetInvalidationOperation.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Beispiel-Code
function getInvalidation($cloudFrontClient, $distributionId, $invalidationId) { try { $result = $cloudFrontClient->getInvalidation([ 'DistributionId' => $distributionId, 'Id' => $invalidationId, ]); $message = ''; if (isset($result['Invalidation']['Status'])) { $message = 'The status for the invalidation with the ID of ' . $result['Invalidation']['Id'] . ' is ' . $result['Invalidation']['Status']; } if (isset($result['@metadata']['effectiveUri'])) { $message .= ', and the effective URI is ' . $result['@metadata']['effectiveUri'] . '.'; } else { $message = 'Error: Could not get information about ' . 'the invalidation. The invalidation\'s status ' . 'was not available.'; } return $message; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function getsAnInvalidation() { $distributionId = 'E1BTGP2EXAMPLE'; $invalidationId = 'I1CDEZZEXAMPLE'; $cloudFrontClient = new Aws\CloudFront\CloudFrontClient([ 'profile' => 'default', 'version' => '2018-06-18', 'region' => 'us-east-1' ]); echo getInvalidation($cloudFrontClient, $distributionId, $invalidationId); } // Uncomment the following line to run this code in an AWS account. // getsAnInvalidation();
Auflisten von Aufhebungen der Verteilung
Um alle aktuellen CloudFront Verteilungsinvalidierungen aufzulisten, verwenden Sie die -ListInvalidationsOperation.
Importe
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Beispiel-Code
function listInvalidations($cloudFrontClient, $distributionId) { try { $result = $cloudFrontClient->listInvalidations([ 'DistributionId' => $distributionId ]); return $result; } catch (AwsException $e) { exit('Error: ' . $e->getAwsErrorMessage()); } } function listTheInvalidations() { $distributionId = 'E1WICG1EXAMPLE'; $cloudFrontClient = new Aws\CloudFront\CloudFrontClient([ 'profile' => 'default', 'version' => '2018-06-18', 'region' => 'us-east-1' ]); $invalidations = listInvalidations( $cloudFrontClient, $distributionId ); if (isset($invalidations['InvalidationList'])) { if ($invalidations['InvalidationList']['Quantity'] > 0) { foreach ($invalidations['InvalidationList']['Items'] as $invalidation) { echo 'The invalidation with the ID of ' . $invalidation['Id'] . ' has the status of ' . $invalidation['Status'] . '.' . "\n"; } } else { echo 'Could not find any invalidations for the specified distribution.'; } } else { echo 'Error: Could not get invalidation information. Could not get ' . 'information about the specified distribution.'; } } // Uncomment the following line to run this code in an AWS account. // listTheInvalidations();