Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Opérations sur les fichiers
S3 Transfer Manager fournit des méthodes pour charger et télécharger des fichiers individuels.
Téléchargez des fichiers locaux
Pour charger un fichier sur Amazon S3, utilisez la upload <add link> méthode.
<?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();
Paramètres de la méthode upload
La upload méthode accepte une instance de UploadRequest <add link> comme argument.
Paramètres dans l’UploadRequest
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
|
|
chaîne| |
Oui |
Chemin du chemin du fichier local ou du flux contenant les données à télécharger. |
|
|
array |
Oui |
Téléchargez les arguments de la demande (doivent inclure Bucket et Key). |
|
|
array |
Non |
Les remplacements de configuration spécifiques à ce téléchargement. Pour plus d'informations sur les options de configuration, consultez la section suivante. |
|
|
array |
Non |
Tableau d' |
|
|
TransferListener |
Non |
Un outil de suivi de la progression de ce téléchargement. |
Le SDK résout la $config valeur par défaut à partir de la configuration du gestionnaire de transfert S3.
| Option | Type | Obligatoire | Description |
|---|---|---|---|
|
|
int |
Non |
Remplace le seuil par défaut lorsqu'un téléchargement partitionné est déclenché. |
|
|
int |
Non |
Remplace la taille de pièce cible par défaut en octets. |
|
|
bool |
Non |
Remplace l'option par défaut pour activer le suivi de la progression. Si cette option existe true et que vous ne fournissez aucun progressTracker paramètre, le SDK utilise une implémentation par défaut. |
|
|
int |
Non |
Remplace la valeur par défaut pour la simultanéité. |
|
|
chaîne |
Non |
Remplace la valeur par défaut indiquant si le calcul de la somme de contrôle de la demande doit être effectué. |
Lorsque la upload méthode s'exécute correctement, elle renvoie un UploadResult<add link>.
Télécharger des objets S3
Pour télécharger un objet depuis Amazon S3, utilisez la download <add link> méthode.
<?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();
Paramètres de la méthode download
La download méthode accepte une instance de DownloadRequest <add link> comme argument.
Paramètres dans l’DownloadRequest
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
|
|
chaîne|tableau| |
Non |
L'objet à télécharger depuis S3. Vous pouvez fournir ce paramètre sous la forme d'une chaîne d'URI S3 (» s3://amzn-s3-demo-bucket/key «), d'un tableau avec les clés Bucket et Key, ou |
|
|
array |
Non |
Arguments de demande d'objet de téléchargement supplémentaires. Dans |
|
|
array |
Non |
Les remplacements de configuration spécifiques à ce téléchargement. Pour plus d'informations sur les options de configuration, consultez la section suivante. |
$downloadHandler |
|
Non |
Le gestionnaire qui reçoit chaque fragment d'objet et gère son téléchargement. Le gestionnaire par défaut de la Le gestionnaire par défaut de la Vous pouvez implémenter le vôtre |
|
|
|
Non |
Un outil de suivi de la progression de ce téléchargement. |
|
|
|
Non |
Tableau d' |
Le SDK résout la $config valeur par défaut à partir de la configuration du gestionnaire de transfert S3.
| Option | Type | Obligatoire | Description |
|---|---|---|---|
|
|
chaîne |
Non |
Remplace le type de téléchargement en plusieurs parties par défaut. Les valeurs valides sont « part », « ranged » |
|
|
chaîne |
Non |
Remplace la valeur résolue dans la configuration du gestionnaire de transfert pour déterminer si la validation de la somme de contrôle doit être effectuée. Le SDK prend en compte cette option uniquement si elle n' |
|
|
bool |
Non |
Remplace l'option par défaut permettant d'activer le suivi de la progression. Si cette option existe Utilisez cette option pour activer un outil de suivi de progression par défaut lorsque le |
|
|
int |
Non |
Taille de partie en octets à utiliser dans un téléchargement multipartie par plage. Si vous ne fournissez pas ce paramètre, le téléchargement utilise le paramètre |
Lorsque la download méthode s'exécute correctement, elle renvoie un DownloadResult<add link>.
Télécharger un objet S3 dans un fichier local
Pour télécharger un objet S3 directement dans un fichier local, utilisez la downloadFile méthode suivante :
<?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";
Paramètres de la méthode downloadFile
La downloadFile méthode accepte une instance de DownloadFileRequest comme argument.
Paramètres dans l’DownloadFileRequest
| Option | Type | Obligatoire | Description |
|---|---|---|---|
|
|
chaîne |
Oui |
Chemin local dans lequel le fichier est enregistré. |
|
|
bool |
Oui |
S'il faut échouer si le fichier de destination existe déjà. Si cette option est activée |
|
|
|
Oui |
L' |
Lorsque la downloadFile méthode s'exécute correctement, elle renvoie un DownloadResult<add link>.