Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Operasi file
S3 Transfer Manager menyediakan metode untuk mengunggah dan mengunduh file individual.
Unggah file lokal
Untuk mengunggah file ke Amazon S3, gunakan metode ini upload<add link>.
<?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 metode upload
uploadMetode ini menerima instance dari UploadRequest <add link> sebagai argumen.
Parameter UploadRequest
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
senar| |
Ya |
Jalur jalur file lokal atau aliran yang berisi data untuk diunggah. |
|
|
array |
Ya |
Unggah argumen permintaan (harus menyertakan Bucket dan Key). |
|
|
array |
Tidak |
Penggantian konfigurasi khusus untuk unggahan ini. Untuk informasi selengkapnya tentang opsi konfigurasi, lihat bagian berikut. |
|
|
array |
Tidak |
Array |
|
|
TransferListener |
Tidak |
Pelacak kemajuan untuk unggahan ini. |
SDK menyelesaikan $config nilai default dari konfigurasi S3 Transfer Manager.
| Opsi | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
int |
Tidak |
Mengganti ambang batas default saat unggahan multibagian dipicu. |
|
|
int |
Tidak |
Mengganti ukuran bagian target default dalam byte. |
|
|
bool |
Tidak |
Mengganti opsi default untuk mengaktifkan pelacakan kemajuan. Jika opsi ini true dan Anda tidak memberikan progressTracker parameter, SDK menggunakan implementasi default. |
|
|
int |
Tidak |
Mengganti nilai default untuk konkurensi. |
|
|
string |
Tidak |
Mengganti nilai default untuk apakah perhitungan checksum permintaan harus dilakukan. |
Ketika upload metode berjalan dengan sukses, ia mengembalikan file UploadResult<add link>.
Unduh objek S3
Untuk mengunduh objek dari Amazon S3, gunakan metode ini download<add link>.
<?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 metode download
downloadMetode ini menerima instance dari DownloadRequest <add link> sebagai argumen.
Parameter DownloadRequest
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
senar | array| |
Tidak |
Objek untuk men-download dari S3. Anda dapat memberikan parameter ini sebagai string URI S3 (” s3://amzn-s3-demo-bucket/key “), array dengan kunci Bucket dan Key, atau |
|
|
array |
Tidak |
Argumen permintaan objek unduhan tambahan. Jika |
|
|
array |
Tidak |
Penggantian konfigurasi khusus untuk unduhan ini. Untuk informasi selengkapnya tentang opsi konfigurasi, lihat bagian berikut. |
$downloadHandler |
|
Tidak |
Handler yang menerima setiap potongan objek dan mengelola unduhannya. Handler default untuk Handler default untuk Anda dapat menerapkan sendiri |
|
|
|
Tidak |
Pelacak kemajuan untuk unduhan ini. |
|
|
|
Tidak |
Array |
SDK menyelesaikan $config nilai default dari konfigurasi S3 Transfer Manager.
| Opsi | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
string |
Tidak |
Mengganti jenis unduhan multipart default. Nilai yang valid adalah 'bagian', 'berkisar' |
|
|
string |
Tidak |
Mengganti nilai yang diselesaikan dari konfigurasi manajer transfer untuk mengetahui apakah validasi checksum harus dilakukan. SDK mempertimbangkan opsi ini hanya jika tidak |
|
|
bool |
Tidak |
Mengganti opsi default untuk mengaktifkan pelacakan kemajuan. Jika opsi ini Gunakan opsi ini untuk mengaktifkan pelacak kemajuan default saat |
|
|
int |
Tidak |
Ukuran bagian dalam byte untuk digunakan dalam berbagai unduhan multibagian. Jika Anda tidak memberikan parameter ini, unduhan menggunakan |
Ketika download metode berjalan dengan sukses, ia mengembalikan file DownloadResult<add link>.
Unduh objek S3 ke file lokal
Untuk mengunduh objek S3 langsung ke file lokal, gunakan downloadFile metode ini:
<?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 metode downloadFile
downloadFileMetode ini menerima instance dari DownloadFileRequest sebagai argumen.
Parameter DownloadFileRequest
| Opsi | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
|
|
string |
Ya |
Jalur lokal tempat file disimpan. |
|
|
bool |
Ya |
Apakah akan gagal jika file tujuan sudah ada. Jika opsi ini |
|
|
|
Ya |
|
Ketika downloadFile metode berjalan dengan sukses, ia mengembalikan a DownloadResult<add link>.