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.
Erstellen und Verwenden von Amazon S3-Buckets mit AWS SDK for PHP Version 3
In den nachstehenden Beispielen wird Folgendes veranschaulicht:
-
Gibt eine Liste der Buckets zurück, die dem authentifizierten Absender der Anforderung gehören, mithilfe von ListBuckets.
-
Erstellen Sie einen neuen Bucket mit CreateBucket.
-
Fügen Sie einem Bucket mit ein Objekt hinzuPutObject.
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.
Importe
require 'vendor/autoload.php'; use Aws\S3\S3Client;
Buckets auflisten
Erstellen Sie eine PHP-Datei, mit folgendem Code: Erstellen Sie zunächst einen AWS.S3-Client-Service, der die AWS Region und Version angibt. Rufen Sie dann die -listBuckets
Methode auf, die alle Amazon S3-Buckets, die dem Absender der Anforderung gehören, als Array von Bucket-Strukturen zurückgibt.
Beispiel-Code
$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); //Listing all S3 Bucket $buckets = $s3Client->listBuckets(); foreach ($buckets['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; }
Erstellen eines -Buckets
Erstellen Sie eine PHP-Datei, mit folgendem Code: Erstellen Sie zunächst einen AWS.S3-Client-Service, der die AWS Region und Version angibt. Rufen Sie dann die Methode createBucket
mit einem Array als Parameter auf. Das einzige erforderliche Feld ist der Schlüssel „Bucket“ mit einem Zeichenfolgenwert für den zu erstellenden Bucket-Namen. Sie können die AWS Region jedoch mit dem Feld „CreateBucketConfiguration“ angeben. Bei Erfolg gibt diese Methode die Position des Buckets zurück.
Beispiel-Code
function createBucket($s3Client, $bucketName) { try { $result = $s3Client->createBucket([ 'Bucket' => $bucketName, ]); return 'The bucket\'s location is: ' . $result['Location'] . '. ' . 'The bucket\'s effective URI is: ' . $result['@metadata']['effectiveUri']; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function createTheBucket() { $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2006-03-01' ]); echo createBucket($s3Client, 'my-bucket'); } // Uncomment the following line to run this code in an AWS account. // createTheBucket();
Einfügen eines Objekts in einen Bucket
Um Dateien zu Ihrem neuen Bucket hinzuzufügen, erstellen Sie eine PHP-Datei mit dem folgenden Code.
Führen Sie in Ihrer Befehlszeile diese Datei aus und übergeben Sie den Namen des Buckets, in den Sie Ihre Datei hochladen möchten, als Zeichenfolge gefolgt vom vollständigen Dateipfad der hochzuladenden Datei.
Beispiel-Code
$USAGE = "\n" . "To run this example, supply the name of an S3 bucket and a file to\n" . "upload to it.\n" . "\n" . "Ex: php PutObject.php <bucketname> <filename>\n"; if (count($argv) <= 2) { echo $USAGE; exit(); } $bucket = $argv[1]; $file_Path = $argv[2]; $key = basename($argv[2]); try { //Create a S3Client $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $result = $s3Client->putObject([ 'Bucket' => $bucket, 'Key' => $key, 'SourceFile' => $file_Path, ]); } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }