Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda mempelajari cara menggunakan PHP untuk mengunggah, mengunduh, dan mencantumkan blok blob dalam wadah di penyimpanan Azure Blob.
Prasyarat
Untuk mengakses Azure Storage, Anda perlu berlangganan Azure. Jika Anda belum berlangganan, buat akun gratis sebelum memulai.
Semua akses ke Azure Storage dilakukan melalui akun penyimpanan. Untuk mulai cepat ini, Anda dapat membuat akun penyimpanan menggunakan portal Azure, Azure PowerShell, atau Azure CLI. Untuk bantuan membuat akun penyimpanan, lihat Membuat akun penyimpanan.
Pastikan Anda memiliki prasyarat tambahan berikut yang terinstal:
Mengunduh aplikasi contoh
Aplikasi contoh yang digunakan dalam panduan mulai cepat ini adalah aplikasi PHP dasar.
Gunakan git untuk mengunduh salinan aplikasi ke lingkungan pengembangan Anda.
git clone https://github.com/Azure-Samples/storage-blobs-php-quickstart.git
Perintah ini mengkloning repositori ke folder git lokal Anda. Untuk membuka aplikasi sampel PHP, cari folder storage-blobs-php-quickstart, dan buka file phpqs.php.
Salin kredensial Anda dari portal Microsoft Azure
Aplikasi sampel perlu mengotorisasi akses ke akun penyimpanan Anda. Berikan kredensial akun penyimpanan Anda ke aplikasi dalam bentuk string koneksi. Untuk melihat kredensial akun penyimpanan Anda:
Masuk ke portal Microsoft Azure , buka akun penyimpanan Anda.
Di bagian Pengaturan dari gambaran umum akun penyimpanan, pilih Kunci akses untuk menampilkan kunci akses akun dan string koneksi Anda.
Perhatikan nama akun penyimpanan Anda, yang anda perlukan untuk otorisasi.
Temukan Nilai kunci di bawah key1, dan pilih Salin untuk menyalin kunci akun.
Konfigurasikan string koneksi penyimpanan Anda
Dalam aplikasi, Anda harus memberikan nama akun penyimpanan dan kunci akun Anda untuk membuat instans BlobRestProxy untuk aplikasi Anda. Disarankan untuk menyimpan pengidentifikasi ini dalam variabel lingkungan pada komputer lokal yang menjalankan aplikasi. Gunakan salah satu contoh berikut tergantung pada Sistem Operasi Anda untuk membuat variabel lingkungan. Ganti nilai youraccountname dan youraccountkey dengan nama dan kunci akun Anda.
Mengkonfigurasikan lingkungan Anda
Ambil folder dari folder git lokal Anda dan letakkan di direktori yang dilayani oleh server PHP Anda. Kemudian, buka Command Prompt yang ditujukan ke direktori yang sama dan masukkan: php composer.phar install
Jalankan sampel
Sampel ini membuat file pengujian di folder '.'. Program sampel mengunggah file pengujian ke penyimpanan Blob, mencantumkan blob dalam kontainer, dan mengunduh file dengan nama baru.
Jalankan sampel. Output berikut adalah contoh output yang dikembalikan saat menjalankan aplikasi:
Uploading BlockBlob: HelloWorld.txt
These are the blobs present in the container: HelloWorld.txt: https://myexamplesacct.blob.core.windows.net/blockblobsleqvxd/HelloWorld.txt
This is the content of the blob uploaded: Hello Azure!
Saat Anda menekan tombol yang ditampilkan, program sampel akan menghapus kontainer penyimpanan dan file. Sebelum melanjutkan, periksa folder server Anda untuk dua file tersebut. Anda dapat membukanya dan melihat mereka identik.
Anda juga dapat menggunakan alat seperti Azure Storage Explorer untuk melihat file di penyimpanan Blob. Penjelajah Penyimpanan Azure adalah alat lintas platform gratis yang memungkinkan Anda mengakses informasi akun penyimpanan Anda.
Setelah Anda memverifikasi file, tekan kunci apa pun untuk menyelesaikan demo dan menghapus file pengujian. Sekarang setelah Anda tahu apa yang dilakukan sampel, buka file example.rb untuk melihat kode.
Memahami kode sampel
Selanjutnya, kita menelusuri kode sampel sehingga Anda dapat memahami cara kerjanya.
Mendapatkan referensi ke objek penyimpanan
Hal pertama yang harus dilakukan adalah membuat referensi ke objek yang digunakan untuk mengakses dan mengelola penyimpanan Blob. Objek-objek ini saling bergantung, dan masing-masing digunakan oleh objek berikutnya dalam daftar.
- Buat instans objek BlobRestProxy penyimpanan Azure untuk menyiapkan kredensial koneksi.
- Buat objek BlobService yang menunjuk ke layanan Blob di akun penyimpanan Anda.
- Buat objek Kontainer , yang mewakili kontainer yang Anda akses. Kontainer digunakan untuk mengatur blob seperti Anda menggunakan folder di komputer untuk mengatur file Anda.
Setelah Anda memiliki objek kontainer blobClient , Anda dapat membuat objek Blob Blok yang menunjuk ke blob tertentu tempat Anda tertarik. Kemudian Anda dapat melakukan operasi seperti mengunggah, mengunduh, dan menyalin.
Penting
Nama kontainer harus menggunakan huruf kecil. Lihat Penamaan dan Mereferensikan Kontainer, Blob, dan Metadata untuk informasi selengkapnya tentang nama kontainer dan blob.
Di bagian ini, Anda menyiapkan instans klien penyimpanan Azure, membuat instans objek layanan blob, membuat kontainer baru, dan mengatur izin pada kontainer sehingga blob bersifat publik. Kontainer ini disebut quickstartblobs.
# Setup a specific instance of an Azure::Storage::Client
$connectionString = "DefaultEndpointsProtocol=https;AccountName=".getenv('account_name').";AccountKey=".getenv('account_key');
// Create blob client.
$blobClient = BlobRestProxy::createBlobService($connectionString);
# Create the BlobService that represents the Blob service for the storage account
$createContainerOptions = new CreateContainerOptions();
$createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS);
// Set container metadata.
$createContainerOptions->addMetaData("key1", "value1");
$createContainerOptions->addMetaData("key2", "value2");
$containerName = "blockblobs".generateRandomString();
try {
// Create container.
$blobClient->createContainer($containerName, $createContainerOptions);
Unggah blob ke kontainer
Penyimpanan blob mendukung blob blok, blob tambahan, dan blob halaman. Blob blok adalah yang paling umum digunakan, dan itulah yang digunakan dalam panduan memulai cepat ini.
Untuk mengunggah file ke blob, dapatkan jalur lengkap file dengan menggabungkan nama direktori dan nama file di drive lokal Anda. Anda kemudian dapat mengunggah file ke jalur yang ditentukan menggunakan metode createBlockBlob().
Kode sampel mengambil file lokal dan mengunggahnya ke Azure. File disimpan sebagai myfile dan nama blob sebagai fileToUpload dalam kode. Contoh berikut mengunggah file ke kontainer Anda yang disebut quickstartblobs.
$myfile = fopen("HelloWorld.txt", "w") or die("Unable to open file!");
fclose($myfile);
# Upload file as a block blob
echo "Uploading BlockBlob: ".PHP_EOL;
echo $fileToUpload;
echo "<br />";
$content = fopen($fileToUpload, "r");
//Upload blob
$blobClient->createBlockBlob($containerName, $fileToUpload, $content);
Untuk melakukan pembaruan parsial konten blob blok, gunakan metode createblocklist(). Blob dapat berukuran hingga 4,7 TB, dan dapat berupa apa saja mulai dari lembar kerja Excel hingga file video yang besar. Page blob terutama digunakan untuk file VHD yang digunakan dalam mendukung VM IaaS. Append blob digunakan untuk pencatatan, misalnya saat Anda ingin menulis ke sebuah file dan terus menambahkan informasi. Append blob sebaiknya digunakan dalam model penulis tunggal. Sebagian besar objek yang disimpan dalam penyimpanan Blob adalah blob blok.
Daftar blob dalam wadah
Anda bisa mendapatkan daftar file dalam kontainer menggunakan metode listBlobs(). Kode berikut mengambil daftar blob, lalu mengulanginya, memperlihatkan nama blob yang ditemukan dalam kontainer.
$listBlobsOptions = new ListBlobsOptions();
$listBlobsOptions->setPrefix("HelloWorld");
echo "These are the blobs present in the container: ";
do{
$result = $blobClient->listBlobs($containerName, $listBlobsOptions);
foreach ($result->getBlobs() as $blob)
{
echo $blob->getName().": ".$blob->getUrl()."<br />";
}
$listBlobsOptions->setContinuationToken($result->getContinuationToken());
} while($result->getContinuationToken());
Dapatkan konten blob Anda
Dapatkan konten blob Anda menggunakan metode getBlob(). Kode berikut menampilkan konten blob yang diunggah di bagian sebelumnya.
$blob = $blobClient->getBlob($containerName, $fileToUpload);
fpassthru($blob->getContentStream());
Membersihkan sumber daya
Jika Anda tidak lagi memerlukan blob yang diunggah dalam panduan cepat ini, Anda dapat menghapus seluruh wadah menggunakan fungsi deleteContainer(). Jika file yang dibuat tidak lagi diperlukan, Anda menggunakan metode deleteBlob() untuk menghapus file.
// Delete blob.
echo "Deleting Blob".PHP_EOL;
echo $fileToUpload;
echo "<br />";
$blobClient->deleteBlob($_GET["containerName"], $fileToUpload);
// Delete container.
echo "Deleting Container".PHP_EOL;
echo $_GET["containerName"].PHP_EOL;
echo "<br />";
$blobClient->deleteContainer($_GET["containerName"]);
//Deleting local file
echo "Deleting file".PHP_EOL;
echo "<br />";
unlink($fileToUpload);
Sumber daya untuk mengembangkan aplikasi PHP dengan blob
Lihat sumber daya tambahan ini untuk pengembangan PHP dengan penyimpanan Blob:
- Lihat, unduh, dan instal kode sumber pustaka klien PHP untuk Azure Storage di GitHub.
- Jelajahi sampel-sampel penyimpanan Blob yang ditulis menggunakan pustaka klien PHP.
Langkah selanjutnya
Dalam panduan cepat ini, Anda belajar cara mentransfer file antara disk lokal dan penyimpanan blob Azure menggunakan PHP. Untuk mempelajari selengkapnya tentang bekerja dengan PHP, lanjutkan ke pusat Pengembang PHP kami.
Untuk informasi selengkapnya tentang Storage Explorer dan Blob, lihat Mengelola sumber daya penyimpanan Azure Blob dengan Storage Explorer.