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.
Dateioperationen
S3 Transfer Manager bietet Methoden zum Hoch- und Herunterladen einzelner Dateien.
Laden Sie lokale Dateien hoch
Verwenden Sie die upload <add link> Methode, um eine Datei auf Amazon S3 hochzuladen.
<?php use Aws\S3\S3Transfer\Models\UploadRequest; use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; $transferManager = new S3TransferManager(null, [ 'default_region' => 'us-west-2' ]); // Source can be from a local path to a file. $source = '/path/to/local/file.txt'; // Or the source can be an instance of StreamInterface. $source = GuzzleHttp\Psr7\Utils::streamFor('Hello World!'); $uploadPromise = $transferManager->upload( new UploadRequest( $source, [ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'path/to/s3/file.txt', // Additional `putObject` parameters as needed. ], [ // Optional configuration overrides. 'multipart_upload_threshold_bytes' => 100 * 1024 * 1024, // 100MB 'target_part_size_bytes' => 10 * 1024 * 1024, // 10MB 'track_progress' => true, 'request_checksum_calculation' => 'when_required', ] ) ); // The upload is asynchronous, you can wait for it to complete. $result = $uploadPromise->wait(); // Or you can use the promise for more complex workflows. $result = $uploadPromise->then( function ($result) { echo "Upload succeeded!"; }, function ($error) { echo "Upload failed: " . $error->getMessage(); } )->wait();
Parameter für die upload-Methode
Die upload Methode akzeptiert eine Instanz von UploadRequest <add link> als Argument.
UploadRequest-Parameter
| Parameter | Typ | Erforderlich | Description |
|---|---|---|---|
|
|
Zeichenkette| |
Ja |
Pfad des lokalen Dateipfads oder Streams, der die hochzuladenden Daten enthält. |
|
|
Array |
Ja |
Argumente für die Upload-Anforderung (müssen Bucket und Key enthalten). |
|
|
Array |
Nein |
Spezifische Konfigurationsüberschreibungen für diesen Upload. Weitere Informationen zu den Konfigurationsoptionen finden Sie im folgenden Abschnitt. |
|
|
Array |
Nein |
Array von |
|
|
TransferListener |
Nein |
Ein Fortschritts-Tracker für diesen Upload. |
Das SDK löst den $config Standardwert aus der Konfiguration des S3 Transfer Managers auf.
| Option | Typ | Erforderlich | Description |
|---|---|---|---|
|
|
int |
Nein |
Setzt den Standardschwellenwert für den Fall außer Kraft, dass ein mehrteiliger Upload ausgelöst wird. |
|
|
int |
Nein |
Setzt die standardmäßige Zielteilgröße in Byte außer Kraft. |
|
|
bool |
Nein |
Überschreibt die Standardoption, um die Fortschrittsverfolgung zu aktivieren. Wenn diese Option aktiviert ist true und Sie keinen progressTracker Parameter angeben, verwendet das SDK eine Standardimplementierung. |
|
|
int |
Nein |
Setzt den Standardwert für Parallelität außer Kraft. |
|
|
Zeichenfolge |
Nein |
Setzt den Standardwert für die Angabe außer Kraft, ob eine Prüfsummenberechnung für eine Anfrage durchgeführt werden muss. |
Wenn die upload Methode erfolgreich ausgeführt wird, gibt sie eine zurück. UploadResult <add link>
Laden Sie S3-Objekte herunter
Verwenden Sie die download <add link> Methode, um ein Objekt von Amazon S3 herunterzuladen.
<?php use Aws\S3\S3Transfer\Models\DownloadRequest; use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; $transferManager = new S3TransferManager(null, [ 'default_region' => 'us-west-2' ]); // Download using an S3 URI. $downloadPromise = $transferManager->download( new DownloadRequest( 's3://amzn-s3-demo-bucket/path/to/s3/file.txt', [ // Additional `getObject` parameters as needed. ], [ // Optional configuration overrides. 'response_checksum_validation' => 'when_required', 'track_progress' => true, 'target_part_size_bytes' => 10 * 1024 * 1024, // 10MB ] ) ); // Wait for the download to complete. $result = $downloadPromise->wait(); // The SDK uses a stream-based download handler by default. $stream = $result->getDownloadDataResult(); // You can either get the content. $content = $stream->getContents(); // Or write the stream to a file. file_put_contents('/path/to/local/file.txt', $stream); // Don't forget to close the stream. $stream->close();
Parameter für die download-Methode
Die download Methode akzeptiert eine Instanz von DownloadRequest <add link> als Argument.
DownloadRequest-Parameter
| Parameter | Typ | Erforderlich | Description |
|---|---|---|---|
|
|
Zeichenkette|Matrix| |
Nein |
Das Objekt, das von S3 heruntergeladen werden soll. Sie können diesen Parameter als S3-URI-Zeichenfolge (“ s3://amzn-s3-demo-bucket/key „), als Array mit Bucket- und Key-Schlüsseln oder angeben |
|
|
Array |
Nein |
Zusätzliche Argumente für die Anforderung von Download-Objekten. Falls ja |
|
|
Array |
Nein |
Spezifische Konfigurationsüberschreibungen für diesen Download. Weitere Informationen zu den Konfigurationsoptionen finden Sie im folgenden Abschnitt. |
$downloadHandler |
|
Nein |
Der Handler, der jeden Objektblock empfängt und dessen Download verwaltet. Der Standard-Handler für die Der Standard-Handler für die Sie können Ihre eigenen implementieren |
|
|
|
Nein |
Ein Fortschritts-Tracker für diesen Download. |
|
|
|
Nein |
Reihe von |
Das SDK löst den $config Standardwert aus der Konfiguration des S3 Transfer Managers auf.
| Option | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
|
|
Zeichenfolge |
Nein |
Setzt den standardmäßigen mehrteiligen Downloadtyp außer Kraft. Gültige Werte sind „Teil“, „Bereich“ |
|
|
Zeichenfolge |
Nein |
Überschreibt den in der Transfer-Manager-Konfiguration aufgelösten Wert, der angibt, ob die Prüfsummenvalidierung durchgeführt werden soll. Das SDK berücksichtigt diese Option nur, wenn sie nicht in der |
|
|
bool |
Nein |
Setzt die Standardoption für die Aktivierung der Fortschrittsverfolgung außer Kraft. Wenn diese Option aktiviert ist Verwenden Sie diese Option, um einen Standard-Fortschritts-Tracker zu aktivieren, wenn der |
|
|
int |
Nein |
Die Größe des Teils in Byte, das bei einem mehrteiligen Range-Download verwendet werden soll. Wenn Sie diesen Parameter nicht angeben, verwendet der Download den im Transfer Manager |
Wenn die download Methode erfolgreich ausgeführt wird, gibt sie eine zurück DownloadResult<add link>.
Laden Sie ein S3-Objekt in eine lokale Datei herunter
Verwenden Sie die folgende downloadFile Methode, um ein S3-Objekt direkt in eine lokale Datei herunterzuladen:
<?php use Aws\S3\S3Transfer\Models\DownloadFileRequest; use Aws\S3\S3Transfer\Models\DownloadRequest; use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; $transferManager = new S3TransferManager(null, [ 'default_region' => 'us-west-2' ]); $downloadFilePromise = $transferManager->downloadFile( new DownloadFileRequest( '/path/to/local/file.txt', // Destination file path. false, // Fail when destination exists. new DownloadRequest( 's3://amzn-s3-demo-bucket/path/to/s3/file.txt', [], // `getObject` request args [ 'track_progress' => true, 'target_part_size_bytes' => 10 * 1024 * 1024, // 10MB parts ] ) ) ); // Wait for download to complete. $result = $downloadFilePromise->wait(); // `getDownloadDataResult()` returns the string for the file path of the downloaded content because // the default `DownloadHandler` used by `downloadFile()` is a file-based handler. echo "File downloaded successfully at {$result->getDownloadDataResult()}!\n";
Parameter für die downloadFile-Methode
Die downloadFile Methode akzeptiert eine Instanz von DownloadFileRequest als Argument.
DownloadFileRequest-Parameter
| Option | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
|
|
Zeichenfolge |
Ja |
Lokaler Pfad, in dem die Datei gespeichert ist. |
|
|
bool |
Ja |
Ob ein Fehler auftreten soll, wenn die Zieldatei bereits existiert. Wenn diese Option aktiviert ist |
|
|
|
Ja |
Das konfigurierte Objekt |
Wenn die downloadFile Methode erfolgreich ausgeführt wird, gibt sie a zurück DownloadResult<add link>.