Pengantar
Penyimpanan data non-relasional dapat memiliki banyak bentuk. Azure memungkinkan Anda membuat database non-relasional melalui Azure Cosmos DB. Cosmos DB mendukung beberapa model NoSQL, termasuk penyimpanan dokumen, database grafik, penyimpanan nilai kunci, dan database kelompok kolom. Penyimpanan non-relasional lain yang tersedia di Azure termasuk Microsoft Azure Storage, yang dapat Anda gunakan untuk menyimpan blob dan file. Dalam modul ini, Anda akan mempelajari cara menggunakan layanan database ini untuk menyimpan dan mengambil data.
Misalnya Anda seorang teknisi data yang bekerja di Contoso, sebuah organisasi dengan operasional manufaktur berskala besar. Organisasi tersebut harus mengumpulkan dan menyimpan informasi dari berbagai sumber, seperti data real-time yang memantau status mesin lini produksi, data kontrol kualitas produk, log produksi historis, volume produk dalam stok, dan data inventaris bahan baku. Informasi ini sangat penting untuk operasional organisasi. Contoso telah membuat penyimpanan untuk menyimpan informasi ini. Anda telah diminta untuk mengunggah data ke penyimpanan ini dan menyelidiki cara mengkueri data ini menggunakan fitur yang disediakan oleh Azure.
Kelola Azure Cosmos DB
Azure Cosmos DB adalah sistem manajemen untuk database NoSQL. Sistem ini kompatibel dengan beberapa sistem NoSQL yang ada, termasuk MongoDB dan Cassandra. Dalam skenario Contoso, Anda telah membuat database Cosmos DB untuk menyimpan informasi tentang jumlah item yang terdapat dalam stok. Anda sekarang perlu memahami cara mengisi database ini dan cara mengkuerinya.
Di unit ini, Anda akan meninjau bagaimana Cosmos DB menyimpan data. Kemudian Anda akan belajar cara mengunggah data ke database Cosmos DB dan mengonfigurasi Cosmos DB untuk mendukung pemuatan massal.
Apa itu Azure Cosmos DB?
Cosmos DB mengelola data sebagai kumpulan dokumen. Dokumen adalah kumpulan bidang yang diidentifikasi menurut kunci. Bidang dalam setiap dokumen bisa bervariasi dan bidang bisa berisi dokumen anak. Cosmos DB menggunakan JSON (JavaScript Object Notation) untuk merepresentasikan struktur dokumen. Dalam format ini, bidang dalam dokumen diapit antara kurung kurawal, { dan }, dan setiap bidang diawali dengan namanya. Contoh di bawah ini menunjukkan sepasang dokumen yang mewakili informasi pelanggan. Dalam kedua kasus, setiap dokumen pelanggan menyertakan dokumen anak yang berisi nama dan alamat namun bidang dalam dokumen anak ini bervariasi antara setiap pelanggan.
## Document 1 ##
{
"customerID": "103248",
"name":
{
"first": "AAA",
"last": "BBB"
},
"address":
{
"street": "Main Street",
"number": "101",
"city": "Acity",
"state": "NY"
},
"ccOnFile": "yes",
"firstOrder": "02/28/2003"
}
## Document 2 ##
{
"customerID": "55151",
"name":
{
"title": "Mr",
"forename": "DDD",
"lastname": "EEE"
},
"address":
{
"street": "Another Street",
"number": "202",
"city": "Bcity",
"county": "Gloucestershire",
"country-region": "UK"
},
"ccOnFile": "yes"
}
Dokumen dalam database Cosmos DB diatur di dalam kontainer. Dokumen dalam kontainer dikelompokkan bersama ke dalam partisi. Sebuah partisi menampung set dokumen yang memiliki kunci partisi bersama. Anda menetapkan salah satu bidang di dokumen Anda sebagai kunci partisi. Pilih kunci partisi yang mengumpulkan semua dokumen terkait. Pendekatan ini membantu mengurangi jumlah operasi pembacaan disk yang digunakan kueri saat mengambil sekumpulan dokumen untuk entitas tertentu. Misalnya, dalam database dokumen untuk sistem elniaga yang merekam detail pelanggan dan pesanan yang telah mereka lakukan, Anda dapat mempartisi data berdasarkan identitas pelanggan dan menyimpan pelanggan serta detail pesanan untuk setiap pelanggan dalam partisi yang sama. Guna menemukan semua informasi dan pesanan untuk pelanggan, Anda hanya perlu meminta partisi tunggal itu:
Cosmos DB adalah layanan dasar Azure. Cosmos DB digunakan oleh banyak produk Microsoft untuk aplikasi penting yang berjalan pada skala global, termasuk Skype, Xbox, Microsoft 365, dan Azure. Cosmos DB sangat cocok untuk IoT dan telematika, Ritel dan pemasaran, Game, dan Aplikasi web dan seluler. Untuk informasi tambahan tentang penggunaan untuk Cosmos DB, baca kasus penggunaan Azure Cosmos DB secara umum.
Apakah itu API Cosmos DB?
Anda mengakses data dalam database Cosmos DB melalui serangkaian perintah dan operasi, yang secara kolektif dikenal sebagai API, atau Antarmuka Pemrograman Aplikasi. Cosmos DB menyediakan API aslinya sendiri, yang disebut SQL API. API ini menyediakan bahasa kueri seperti SQL melalui dokumen yang memungkinkan Anda untuk mengambil dokumen menggunakan pernyataan SELECT. Contoh di bawah ini berhasil menemukan alamat untuk pelanggan 103248 dalam dokumen yang ditunjukkan di atas:
SELECT c.address
FROM customers c
WHERE c.customerID = "103248"
Cosmos DB juga menyediakan API lain yang memungkinkan Anda mengakses dokumen-dokumen ini menggunakan kumpulan perintah sistem manajemen database NoSQL lainnya. API ini adalah:
API Table. Antarmuka ini memungkinkan Anda menggunakan Azure Table Storage API untuk menyimpan dan mengambil dokumen. Tujuan dari antarmuka ini adalah untuk memungkinkan Anda beralih dari Table Storage ke Cosmos DB tanpa mengharuskan Anda memodifikasi aplikasi yang ada.
MongoDB API. MongoDB adalah database dokumen lainnya yang terkenal dengan antarmukanya sendiri yang terprogram. Banyak organisasi menggunakan lokal. Anda dapat menggunakan MongoDB API for Cosmos DB untuk memungkinkan aplikasi MongoDB berjalan tidak berubah terhadap database Cosmos DB. Anda dapat memigrasikan data dalam database MongoDB ke Cosmos DB yang berjalan di cloud, tetapi terus menjalankan aplikasi Anda yang ada untuk mengakses data ini.
Cassandra API. Cassandra adalah kolom sistem manajemen database keluarga. Ini adalah sistem manajemen database lain yang dijalankan banyak organisasi di tempat. Cassandra API for Cosmos DB menyediakan antarmuka terprogram seperti Cassandra untuk Cosmos DB. Permintaan API Cassandra dipetakan ke permintaan dokumen Cosmos DB. Seperti halnya MongoDB API, tujuan utama Cassandra API adalah untuk memungkinkan Anda memigrasikan dengan cepat database dan aplikasi Cassandra ke Cosmos DB.
Gremlin API. Gremlin API mengimplementasikan antarmuka database grafik ke Cosmos DB. Grafik adalah kumpulan objek data dan hubungan terarah. Data masih dipegang sebagai sekumpulan dokumen di Cosmos DB, namun Gremlin API memungkinkan Anda untuk melakukan kueri grafik melalui data. Dengan menggunakan Gremlin API, Anda dapat berjalan melalui objek dan hubungan dalam grafik untuk menemukan semua hubungan secara kompleks, seperti "Apa nama hewan peliharaan induk semang Sam?" dalam grafik yang ditunjukkan di bawah ini.
Penggunaan API Tabel, MongoDB, dan Cassandra utamanya adalah untuk mendukung aplikasi yang ada yang ditulis menggunakan penyimpanan data ini. Jika Anda ingin membuat aplikasi dan database baru, Anda harus menggunakan SQL API atau Gremlin API.
Melakukan operasional data di Cosmos DB
Cosmos DB menyediakan beberapa opsi untuk mengunggah data ke database Cosmos DB dan mengkueri data tersebut. Anda dapat:
- Gunakan Data Explorer di portal Microsoft Azure untuk menjalankan kueri ad-hoc. Anda juga dapat menggunakan alat ini untuk memuat data, namun Anda hanya dapat memuat satu dokumen dalam sekali waktu. Fungsi beban data terutama ditujukan untuk mengunggah sejumlah kecil dokumen (hingga 2 MB secara total) untuk tujuan pengujian dibandingkan mengimpor data dalam jumlah besar.
- Gunakan alat Migrasi Data Cosmos DB untuk melakukan pemuatan massal atau transfer data dari sumber data lain.
- Gunakan Azure Data Factory untuk impor data dari sumber lain.
- Tulis aplikasi kustom yang mengimpor data menggunakan pustaka Cosmos DB BulkExecutor. Strategi ini berada di luar cakupan modul ini.
- Buat aplikasi Anda sendiri yang menggunakan fungsi yang tersedia melalui pustaka klien Cosmos DB SQL API untuk menyimpan data. Pendekatan ini juga berada di luar lingkup modul ini.
Muat data menggunakan Migrasi Data Cosmos DB
Anda dapat menggunakan Migrasi Data untuk mengimpor data ke Azure Cosmos DB dari berbagai sumber, termasuk:
- File JSON
- MongoDB
- SQL Server
- File CSV
- Penyimpanan Tabel Azure
- Amazon DynamoDB
- HBase
- Kontainer Azure Cosmos
Migrasi Data tersedia sebagai unduhan dari GitHub. Alat ini memandu Anda dalam proses migrasi data ke database Cosmos DB. Anda diminta untuk memilih sumber data (salah satu item yang tercantum di atas) dan tujuan (database dan kontainer Cosmos DB). Alat ini dapat mengisi kontainer yang ada atau membuat yang baru jika kontainer yang ditentukan belum ada
Mengonfigurasi Cosmos DB dengan tujuan mendukung pemuatan massal
Jika Anda memiliki data dalam jumlah besar, Alat Migrasi Data dapat menggunakan beberapa utas bersamaan untuk mengumpulkan data Anda menjadi potongan dan memuat potongan secara paralel. Setiap utas bertindak sebagai koneksi klien secara terpisah ke database. Pemuatan secara massal dapat menjadi tugas penulisan yang intensif.
Saat Anda mengunggah data ke kontainer, jika Anda memiliki kapasitas throughput terkonfigurasi yang tidak memadai untuk mendukung volume operasi tulis yang terjadi secara bersamaan, beberapa permintaan pengunggahan akan gagal. Cosmos DB melaporkan masalah HTTP 429 (Tingkat permintaan besar). Oleh karena itu, jika Anda berencana melakukan impor data dalam jumlah besar, Anda harus meningkatkan sumber daya throughput yang tersedia untuk kontainer Cosmos yang menjadi target. Jika Anda menggunakan Alat Migrasi Data untuk membuat kontainer serta mengisinya, halaman Informasi target memungkinkan Anda menentukan sumber daya throughput untuk digunakan.
Jika Anda sudah membuat kontainer, gunakan pengaturan Skala database di halaman Data Explorer untuk database Anda di portal Microsoft Azure untuk menentukan throughput maksimum, atau atur throughput ke Autoscale.
Setelah data tersebut dimuat, Anda mungkin dapat mengurangi sumber daya throughput untuk menurunkan biaya database.
Kueri Azure Cosmos DB
Meskipun Azure Cosmos DB digambarkan sebagai sistem manajemen database NoSQL, SQL API memungkinkan Anda menjalankan kueri seperti SQL terhadap database Cosmos DB. Kueri ini menggunakan sintaksis yang mirip dengan SQL, tetapi ada beberapa perbedaan. Hal ini dikarenakan data dalam Cosmos DB disusun sebagai dokumen, bukan tabel.
Dalam pelajaran ini, Anda akan mempelajari dialek SQL yang diimplementasikan oleh SQL API. Anda akan melihat cara menggunakan Data Explorer di portal Microsoft Azure dengan tujuan menjalankan kueri.
Penggunaan SQL API untuk mengkueri dokumen
Cosmos DB SQL API mendukung dialek SQL untuk meminta dokumen menggunakan pernyataan SELECT yang akan mudah dikenali jika Anda telah menulis pernyataan SELECT dalam database relasional menggunakan mesin database yang mematuhi ANSI SQL. SQL API menampilkan hasil dalam bentuk dokumen JSON. Semua kueri dijalankan dalam konteks kontainer tunggal.
Memahami kueri SQL API
Kueri SQL API SELECT menyertakan klausa berikut ini:
Klausa SELECT. Klausa dimulai dengan kata kunci SELECT diikuti dengan daftar properti yang dipisahkan koma untuk ditampilkan. Kata kunci “*” berarti semua properti dalam dokumen.
Klausa FROM. Klausa ini dimulai melalui kata kunci FROM yang diikuti oleh pengidentifikasi yang mewakili sumber rekaman dan alias yang dapat Anda gunakan untuk pengidentifikasi ini dalam klausa lain (alias bersifat opsional). Dalam kueri database relasional, klausa FROM akan mengandung nama tabel. Dalam API SQL, semua kueri terbatas pada lingkup kontainer sehingga pengidentifikasi mewakili nama kontainer.
Klausa WHERE. Klausa ini opsional. Hal ini dimulai dengan kata kunci WHERE, diikuti oleh satu atau beberapa kondisi logika yang harus dipenuhi oleh dokumen yang dikembalikan oleh kueri. Anda menggunakan klausa WHERE dengan tujuan memfilter hasil kueri.
Klausa ORDER BY. Klausa ini juga bersifat opsional. Dimulai dengan frasa ORDER BY, yang diikuti oleh satu atau beberapa properti yang digunakan untuk memesan kumpulan hasil output.
Catatan
Kueri juga bisa berisi klausa JOIN. Dalam sistem manajemen database relasional seperti Azure SQL Database, klausa JOIN digunakan untuk menyambungkan data dari tabel yang berbeda. Di API SQL, Anda menggunakan klausa JOIN untuk menghubungkan bidang dalam dokumen dengan bidang dalam sub-dokumen yang merupakan bagian dari dokumen yang sama. Anda tidak dapat melakukan menggabungkan berbagai dokumen.
Contoh di bawah ini memperlihatkan contoh beberapa kueri sederhana:
// Simple SELECT. The identifier "c" is an alias for the container being queried
SELECT c.*
FROM customers c
// Projection - limit the output to specified fields
SELECT c.Title, c.Name
FROM customers c
// Projection - Address is a subdocument that contains fields named "state" and "city", amongst others
SELECT c.Name, c.Address.State, c.Address.City
FROM customers c
// Filter that limits documents to customers living in California
SELECT c.Name, c.Address.City
FROM customers c
WHERE c.Address.State = "CA"
// Retrieve customers living in California in Name order
SELECT c.Name, c.Address.City
FROM customers c
WHERE c.Address.State = "CA"
ORDER BY c.Name
Pemahaman operator yang didukung
SQL API mencakup banyak operasional matematika dan string umum, selain fungsi untuk bekerja menggunakan array dan untuk memeriksa tipe data. Operator yang didukung oleh SQL API meliputi:
SQL API juga mendukung:
Operator DISTINCT yang Anda gunakan sebagai bagian klausa SELECT untuk menghilangkan duplikat dalam data hasil.
Operator TOP yang dapat Anda gunakan untuk hanya mengambil beberapa baris pertama yang dikembalikan oleh kueri yang mungkin menghasilkan kumpulan hasil besar.
Operasi BETWEEN yang Anda gunakan sebagai bagian dari klausa WHERE untuk menentukan rentang nilai inklusif. Bidang kondisi ANTARA a AND b setara dengan kondisi
field >= a AND field <= b
.Operator IS_DEFINED yang dapat Anda gunakan untuk mendeteksi keberadaan bidang tertentu dalam dokumen.
Kueri di bawah ini memperlihatkan beberapa contoh penggunaan operator ini.
// List all customer cities (remove duplicates) for customers living in states with codes between AK (Alaska) and MD (Maryland)
SELECT DISTINCT c.Address.City
FROM c
WHERE c.Address.State BETWEEN "AK" AND "MD"
// Find the 3 most common customer names
SELECT TOP 3 *
FROM c
ORDER BY c.Name
// Display the details of every customer for which the data of birth is recorded
SELECT * FROM p
WHERE IS_DEFINED(p.DateOfBirth)
Pemahaman fungsi agregat
Anda dapat menggunakan fungsi agregat untuk meringkas data dalam kueri SELECT; Anda menempatkan fungsi agregat dalam klausa SELECT. Bahasa kueri SQL API mendukung fungsi agregat berikut:
COUNT(p). Fungsi ini menampilkan jumlah instans bidang p dalam kumpulan hasil. Untuk menghitung semua item dalam kumpulan hasil, atur p ke nilai skalar seperti 1.
SUM(p). Fungsi ini menampilkan jumlah seluruh instans bidang p dalam kumpulan hasil. Nilai p harus berbentuk numerik.
AVG(p). Fungsi ini menampilkan hitungan jumlah contoh bidang p dalam kumpulan hasil. Nilai p harus berbentuk numerik.
MAX(p). Fungsi ini menampilkan nilai maksimum bidang p dalam kumpulan hasil.
MIN(p). Fungsi ini menampilkan nilai minimum bidang p dalam kumpulan hasil.
Meskipun sintaksis fungsi agregat mirip dengan ANSI SQL, tidak seperti ANSI SQL bahasa kueri API SQL yang tidak mendukung klausa GROUP BY, Anda tidak bisa menghasilkan subtotal untuk nilai yang berbeda dari bidang yang sama dalam satu kueri. Anda dapat menyertakan lebih dari satu fungsi agregat dalam klausa SELECT pada kueri Anda.
Dalam contoh berikut, kueri mengembalikan rata-rata, maksimum, dan jumlah bidang usia dokumen dalam kumpulan, selain hitungan semua dokumen dalam kumpulan:
SELECT AVG(c.age) AS avg,
MAX(c.age) AS max,
SUM(c.age) AS sum,
COUNT(1) AS count
FROM c
SQL API juga mendukung sejumlah besar fungsi matematika, trigonometri, string, array, serta spasial. Untuk informasi terperinci tentang sintaksis kueri, dan fungsi serta operator yang didukung oleh Cosmos DB SQL API, kunjungi halaman Mulai penggunaan kueri SQL di Azure Cosmos DB di situs web Microsoft.
Dokumen kueri SQL API menggunakan Data Explorer
Anda dapat menggunakan Data Explorer di portal Microsoft Azure untuk membuat dan menjalankan kueri terhadap kontainer Cosmos DB. Halaman Item untuk kontainer menyediakan perintah Kueri SQL Baru di toolbar:
Di panel kueri yang muncul, Anda dapat memasukkan kueri SQL. Pilih Jalankan Kueri untuk menjalankan kueri tersebut. Hasilnya akan ditampilkan dalam bentuk daftar dokumen JSON
Anda dapat menyimpan teks kueri jika Anda perlu mengulanginya di masa mendatang. Kueri disimpan dalam kontainer terpisah. Anda bisa mengambilnya nanti melalui perintah Buka Kueri di toolbar.
Pengelolaan Azure Blob Storage
Azure Blob Storage adalah repositori yang cocok untuk menyimpan objek biner dalam skala besar, seperti gambar, video, dan file audio. Dalam skenario Contoso, Anda telah membuat kontainer blob untuk menyimpan gambar produk yang diproduksi perusahaan.
Azure saat ini mendukung tiga jenis blob yang berbeda; Blob blok, Blob halaman, dan Blob tambahan. Anda biasanya menggunakan blob halaman untuk mengimplementasikan penyimpanan disk virtual untuk komputer virtual Azure; blob tersebut dioptimalkan untuk mendukung operasi baca dan tulis secara acak. Blob tambahan cocok untuk menyimpan data yang tumbuh dalam potongan, seperti log atau data arsip lainnya. Blob blok adalah yang terbaik untuk data statis, dan merupakan jenis penyimpanan yang paling tepat untuk menyimpan data gambar yang dipegang oleh Contoso.
Di unit ini, Anda akan mempelajari cara membuat dan mengelola blob, dan kontainer yang menyimpannya.
Catatan
Unit ini berkonsentrasi pada penggunaan portal Microsoft Azure, Azure CLI, dan Azure PowerShell untuk mengelola blob dan penyimpanan blob. Anda juga dapat menggunakan utilitas AzCopy untuk mengunggah dan mengunduh file, termasuk blob. Unit berikutnya menjelaskan cara menggunakan AzCopy.
Buat kontainer Azure Storage
Di akun penyimpanan Azure, Anda menyimpan blob dalam kontainer. Kontainer menyediakan cara yang mudah untuk mengelompokkan blob terkait bersama-sama, dan Anda dapat mengatur blob dalam hierarki folder di dalam kontainer, mirip dengan file dalam sistem file di disk.
Anda membuat kontainer di akun Azure Storage. Anda dapat melakukan ini menggunakan portal Microsoft Azure, atau menggunakan Azure CLI atau Azure PowerShell dari baris perintah.
Gunakan portal Microsoft Azure
Di portal Microsoft Azure, buka halaman Gambaran Umum untuk akun Microsoft Azure Storage Anda, dan pilih Kontainer.
Pada halaman Kontainer, pilih + Kontainer, dan berikan nama untuk kontainer baru. Anda juga dapat menentukan tingkat akses publik. Untuk kontainer yang akan digunakan untuk menahan blob, tingkat akses yang paling tepat adalah Blob. Pengaturan ini mendukung akses baca-saja anonim untuk blob. Namun, klien yang tidak diautentikasi tidak dapat mencantumkan blob dalam kontainer. Ini berarti mereka hanya dapat mengunduh blob jika mereka tahu nama dan lokasinya dalam kontainer.
Menggunakan Azure CLI
Jika Anda lebih suka menggunakan Azure CLI, az storage container create
perintah akan membuat kontainer baru. Perintah ini mengambil sejumlah parameter opsional dan Anda dapat menemukan detail lengkap pada halaman Buat kontainer penyimpanan az di situs web Microsoft. Contoh di bawah ini membuat kontainer bernama gambar untuk menyimpan blob. Kontainer dibuat di akun penyimpanan dengan nama contosodata. Kontainer menyediakan akses blob anonim.
az storage container create \
--name images \
--account-name contosodata \
--resource-group contoso-group \
--public-access blob
Gunakan Azure PowerShell
Anda dapat menggunakan New-AzStorageContainer
cmdlet PowerShell untuk membuat kontainer penyimpanan baru. Detailnya terdapat di halaman New-AzStorageContainer di situs web Microsoft. Anda harus terlebih dahulu memperoleh referensi ke akun penyimpanan menggunakan Get-AzStorageAccount
perintah. Kode di bawah ini menunjukkan contoh:
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | New-AzStorageContainer `
-Name "images" `
-Permission Blob
Mengunggah blob ke Azure Storage
Setelah membuat kontainer, Anda dapat mengunggah blob. Tergantung pada bagaimana Anda ingin mengatur blob Anda, Anda juga dapat membuat folder dalam kontainer.
Gunakan portal Microsoft Azure
Jika Anda menggunakan portal Microsoft Azure, buka halaman untuk akun penyimpanan Anda dan pilih Kontainer di bawah Blob service. Pada halaman Kontainer, pilih kontainer yang ingin Anda gunakan.
Catatan
Jika Anda membuat akun penyimpanan dengan dukungan untuk ruang nama hierarki (untuk Penyimpanan Data Lake), bagian Blob service tidak muncul di portal Microsoft Azure. Sebagai gantinya, pilih Kontainer di bawah Penyimpanan Data Lake.
.
Pada halaman untuk kontainer, di bilah alat, pilih Unggah. Dalam kotak dialog Unggah blob, telusuri ke kontainer file data untuk diunggah. Bagian turun bawah Tingkat Lanjut menyediakan opsi yang dapat Anda ubah opsi defaultnya. Misalnya, Anda dapat menentukan nama folder dalam kontainer (folder akan dibuat jika tidak ada), jenis blob, dan tingkat akses. Blob yang dibuat dinamai sesuai dengan file yang Anda unggah.
Catatan
Anda dapat memilih beberapa file. Mereka masing-masing akan diunggah ke dalam blob terpisah.
Menggunakan Azure CLI
Gunakan az storage blob upload
perintah untuk mengunggah file ke blob dalam kontainer. Detail yang menjelaskan parameter untuk perintah ini tersedia di halaman unggahan blob penyimpanan az di situs web Microsoft. Contoh berikut mengunggah file lokal bernama racer_green_large.gif folder data ke blob yang disebut racer_green di folder *sepeda dalam kontainer gambar di akun penyimpanan contosodata.
az storage blob upload \
--container-name images \
--account-name contosodata \
--file "\data\racer_green_large.gif" \
--name "bikes\racer_green"
Jika Anda ingin mengunggah beberapa file, gunakan perintah az storage blob upload-batch
. Perintah ini mengambil nama folder lokal daripada nama file, dan mengunggah file di folder tersebut untuk memisahkan blob. Contoh di bawah ini mengunggah semua file gif di folder data ke folder bikes di kontainer gambar.
az storage blob upload-batch \
--account-name contosodata \
--source "\data" \
--pattern "*.gif" \
--destination "images\bikes"
Gunakan Azure PowerShell
Azure PowerShell menyediakan Set-AzStorageBlobContent cmdlet untuk mengunggah data blob ke penyimpanan Azure, sebagai berikut:
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Set-AzStorageBlobContent `
-Container "images" `
-File "\data\racer_green_large.gif" `
-Blob "bikes\racer_green"
Azure PowerShell saat ini tidak menyertakan perintah unggah blob batch. Jika Anda perlu mengunggah beberapa file, Anda dapat menulis skrip PowerShell Anda sendiri (gunakan Get-ChildItem
cmdlet) untuk melakukan iterasi melalui file dan mengunggah masing-masing file satu per satu.
Buat daftar blob dalam kontainer
Jika Anda telah diberikan hak akses yang sesuai, Anda dapat melihat blob dalam kontainer.
Gunakan portal Microsoft Azure
Jika Anda menggunakan portal Microsoft Azure, buka halaman untuk akun penyimpanan Anda dan pilih Kontainer di bawah Blob service. Pada halaman Kontainer, pilih kontainer yang menahan blob Anda. Jika kontainer memiliki struktur folder, pindah ke folder yang berisi blob yang ingin Anda lihat. Blob dalam folder tersebut harus ditampilkan.
Menggunakan Azure CLI
Di Azure CLI, Anda dapat az storage blob list menggunakan perintah untuk melihat blob dalam kontainer. Perintah ini berulang secara rekursif melalui berbagai folder dalam kontainer. Contoh di bawah ini mencantumkan blob yang sebelumnya diunggah ke kontainer gambar:
az storage blob list \
--account-name contosodata \
--container-name "images"
Gunakan Azure PowerShell
Dari Azure PowerShell, jalankan cmdlet Get-AzStorageBlob, seperti yang diilustrasikan dalam contoh berikut:
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Get-AzStorageBlob `
-Container "images"
Unduh blob dari kontainer
Anda dapat mengambil blob dari Microsoft Azure Storage dan menyimpannya dalam file lokal di komputer Anda.
Gunakan portal Microsoft Azure
Jika Anda menggunakan portal Microsoft Azure, buka halaman untuk akun penyimpanan Anda dan pilih Kontainer di bawah Blob service. Pada halaman Kontainer, pilih kontainer yang menahan blob Anda. Jika kontainer memiliki struktur folder, pindah ke folder yang berisi blob yang ingin Anda unduh. Pilih blob untuk melihat detailnya. Pada halaman detail, pilih Unduh.
Menggunakan Azure CLI
Azure CLI menyediakan perintah az storage blob download dan az storage blob download-batch. Perintah ini dianalogikan dengan yang tersedia untuk mengunggah blob. Contoh di bawah mengambil blob racer_green" dari folder bikes di kontainer images.
az storage blob download \
--container-name images \
--account-name contosodata \
--file "racer_green_large.gif" \
--name "bikes\racer_green"
Gunakan Azure PowerShell
Di Azure PowerShell, gunakan Get-AzStorageBlobContent cmdlet.
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Get-AzStorageBlobContent `
-Container "images" `
-Blob "bikes\racer_green_large.gif" `
-Destination "racer_green_large.gif"
Hapus blob dari kontainer
Menghapus blob dapat merebut kembali sumber daya yang digunakan dalam kontainer penyimpanan. Namun, jika Anda telah mengaktifkan opsi penghapusan lunak untuk akun penyimpanan, blob disembunyikan daripada dihapus, dan Anda dapat memulihkannya nanti. Anda dapat mengaktifkan atau menonaktifkan penghapusan lunak di portal Microsoft Azure, dan menentukan waktu dipertahankan blob tersebut. Pilih halaman Proteksi data di bawah Blob service. Jika blob tidak dipulihkan pada akhir periode retensi, itu akan dihapus dari penyimpanan.
Peringatan
Jika Anda membuat akun penyimpanan dengan dukungan untuk bidang nama hierarki (untuk Data Lake Storage), opsi penghapusan lunak tidak tersedia. Semua operasi penghapusan blob akan berealisasi.
Gunakan portal Microsoft Azure
Jika Anda menggunakan portal Microsoft Azure, buka halaman untuk akun penyimpanan Anda dan pilih Kontainer di bawah Blob service. Pada halaman Kontainer, pilih kontainer yang menahan blob Anda. Jika kontainer memiliki struktur folder, pindah ke folder yang berisi blob yang ingin Anda unduh. Pilih blob untuk melihat detailnya. Pada halaman detail, pilih Hapus. Anda akan diminta untuk mengkonfirmasi operasi.
Jika Anda telah mengaktifkan penghapusan lunak untuk akun penyimpanan, halaman blob yang mencantumkan blob dalam kontainer menyertakan opsi Tampilkan blob yang dihapus. Jika Anda memilih opsi ini, Anda dapat melihat dan membatalkan penghapusan blob yang dihapus.
Menggunakan Azure CLI
Anda dapat menghapus satu blob dengan perintah az storage blob delete, atau sekumpulan blob dengan perintah az storage blob delete-batch. Perintah di bawah ini menghapus blob racer-green dari folder sepeda di kontainer gambar:
az storage blob delete ^
--account-name contosodata ^
--container-name "images" ^
--name "bikes\racer_green"
Gunakan Azure PowerShell
Gunakan cmdlet Remove-AzStorageBlob untuk menghapus blob penyimpanan dari Azure PowerShell. Secara default, penghapusan diatur ke diam. Anda dapat menambahkan bendera -Confirm
untuk meminta pengguna mengonfirmasi bahwa mereka benar-benar ingin menghapus blob:
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Remove-AzStorageBlob `
-Container "images" `
-Blob "bikes\racer_green" `
-Confirm
Buat kontainer Azure Storage
Menghapus kontainer secara otomatis menghapus semua blob yang disimpan dalam kontainer itu. Jika Anda tidak waspada, Anda dapat kehilangan banyak data.
Gunakan portal Microsoft Azure
Di portal Microsoft Azure, pilih Kontainer di bawah Blob service, pilih kontainer untuk dihapus, lalu pilih Hapus di bilah alat.
Menggunakan Azure CLI
Di Azure CLI, gunakan perintah az storage container delete. Contoh berikut menghapus kontainer gambar yang direferensikan dalam contoh sebelumnya.
az storage container delete \
--account-name contosodata \
--name "images"
Gunakan Azure PowerShell
Remove-AzStorageContainerCmdlet menghapus kontainer penyimpanan. Bendera -Confirm
meminta pengguna untuk mengonfirmasi operasional penghapusan. Kode di bawah ini menunjukkan contoh:

Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Remove-AzStorageContainer `
-Name "images" `
-Confirm
Pengelolaan penyimpanan File Azure
Anda dapat memakai penyimpanan File Azure untuk menyimpan file bersama. Pengguna dapat terhubung ke folder bersama (juga dikenal sebagai berbagi file)dan membaca dan menulis file (jika mereka memiliki hak istimewa yang sesuai) dengan cara yang sama seperti mereka akan menggunakan folder di mesin lokal. Dalam skenario Contoso, Azure File Storage digunakan untuk menyimpan laporan dan dokumentasi produk yang harus dibaca pengguna di seluruh perusahaan.
Dalam unit ini, Anda akan mempelajari cara membuat dan mengelola file share serta mengunggah dan mengunduh file di Azure File Storage.
Catatan
Sebuah file dalam file share cenderung ditangani dengan cara yang berbeda dari blob. Dalam banyak kasus, pengguna cukup membaca dan menulis file seolah-olah file tersebut adalah objek lokal. Untuk alasan ini, meskipun Azure CLI dan Azure PowerShell menyediakan akses terprogram ke Azure File storage, unit ini berkonsentrasi pada alat yang tersedia di portal Microsoft Azure, dan perintah AzCopy.
Buat berbagi file
Microsoft menyediakan dua alat grafis yang dapat Anda gunakan untuk membuat dan mengelola file share di Azure Storage: portal Microsoft Azure, dan Azure Storage Explorer.
Gunakan portal Microsoft Azure
Pilih Berbagi di panel utama halaman Gambaran Umum untuk akun Azure Storage, dan juga tersedia di bagian Layanan file dari bilah perintah:

Pada halaman Berbagi file, pilih + Berbagi file. Beri nama file share dan tentukan kuota secara opsional. Azure memungkinkan Anda menyimpan file hingga 5 PiB di semua file share pada akun penyimpanan. Kuota memungkinkan Anda membatasi jumlah ruang yang dikonsumsi oleh setiap file share, untuk mencegahnya menghabiskan ruang untuk file share lainnya. Jika hanya memiliki satu file share, Anda dapat membiarkan kuota tersebut kosong.

Setelah membuat berbagi, Anda bisa menggunakan portal Microsoft Azure untuk menambahkan direktori ke file share, mengunggah file ke file share, dan menghapus file share. Perintah Hubungkan menghasilkan skrip PowerShell yang bisa Anda jalankan untuk melampirkan ke file share dari komputer lokal Anda. Anda kemudian dapat menggunakan berbagi seolah-olah itu adalah drive disk lokal.

Gunakan Azure Storage Explorer
Azure Storage Explorer adalah utilitas yang memungkinkan Anda mengelola akun Azure Storage dari komputer desktop Anda. Anda dapat mengunduh alat tersebut dari halaman Azure Storage Explorer di situs web Microsoft. Anda dapat menggunakan Storage Explorer untuk membuat kontainer blob dan file share, serta mengunggah dan mengunduh file.

Versi utilitas ini juga tersedia di portal Microsoft Azure, di halaman Gambaran Umum untuk akun Microsoft Azure Storage.

Untuk membuat berbagi file baru, klik kanan Berbagi File, lalu pilih Buat berbagi file. Di portal Microsoft Azure, Storage Explorer menampilkan kotak dialog yang sama dengan yang Anda lihat sebelumnya. Dalam versi desktop, Anda cukup memasukkan nama untuk file share baru; Anda tidak mendapatkan opsi untuk menetapkan kuota pada saat ini.
Seperti halnya portal Microsoft Azure, setelah Anda membuat berbagi baru, Anda dapat menggunakan Storage Explorer untuk membuat folder, serta mengunggah dan mengunduh file.

Pengunggahan dan pengunduhan file
Anda dapat mengunggah dan mengunduh file individual ke dan dari penyimpanan Azure File Storage secara manual dengan menggunakan Storage Explorer, portal Microsoft Azure, atau dengan menghubungkan file share ke komputer desktop Anda dan menyeret dan melepas file di File Explorer.
Meskipun demikian, jika Anda perlu mentransfer sejumlah besar file masuk dan keluar dari Azure File Storage, Anda harus menggunakan utilitas AzCopy. AzCopy adalah utilitas baris perintah yang dioptimalkan untuk mentransfer file berskala besar (dan blob) antara komputer lokal Anda dan Azure File Storage. Hal ini dapat mendeteksi kegagalan transfer, dan memulai ulang transfer yang gagal pada titik terjadi kesalahan (Anda tidak perlu mengulangi seluruh operasi).
Pembuatan token SAS
Sebelum Anda dapat menggunakan AzCopy, Anda membuat token Tanda tangan akses bersama (SAS). Token SAS menyediakan akses yang terkontrol, terbatas waktu, dan anonim ke layanan dan sumber daya di akun penyimpanan; pengguna tidak harus memberikan kredensial tambahan apa pun. Token SAS berguna dalam situasi di mana Anda tidak tahu pengguna mana yang akan memerlukan akses ke sumber daya Anda.
Catatan
Perintah AzCopy juga mendukung autentikasi menggunakan Azure Active Directory, namun pendekatan ini mengharuskan penambahan semua pengguna ke Azure Active Directory terlebih dahulu.
Anda dapat membuat token SAS untuk menyambungkan ke penyimpanan File Azure menggunakan portal Microsoft Azure. Di laman akun penyimpanan, di bawah Pengaturan, pilih Tanda tangan akses bersama. Pada halaman Tanda tangan akses bersama, di bawah Layanan yang diizinkan, pilih File. Di bawah Tipe sumber daya yang diizinkan, pilih Kontainer dan Objek. Di bawah Izin, pilih hak istimewa yang ingin Anda berikan kepada pengguna. Atur waktu mulai dan akhir untuk token SAS, dan tentukan rentang alamat IP komputer yang akan digunakan pengguna Anda. Pilih Hasilkan SAS dan string koneksi untuk membuat token SAS. Salin nilai di bidang token SAS di tempat aman.

Unggah file
Untuk mentransfer sebuah file ke Penyimpanan File menggunakan AzCopy, gunakan bentuk perintah yang ditampilkan dalam contoh berikut. Jalankan perintah ini dari baris perintah. Dalam contoh ini, ganti <storage-account-name> dengan nama akun penyimpanan, ganti <file-share> dengan nama berbagi file di akun ini, dan ganti <SAS-token> dengan token yang Anda buat menggunakan portal Microsoft Azure. Anda harus menyertakan tanda kutip apabila ditampilkan.
Catatan
Jangan lupa sertakan kata kunci salin setelah perintah azcopy. AzCopy mendukung operasi lain, seperti menghapus file dan blob, mencantumkan file dan blob, dan membuat berbagi file baru. Setiap operasi ini memiliki kata kunci tersendiri.
Bashazcopy copy "myfile.txt" "https://<storage-account-name>.file.core.windows.net/<file-share-name>/myfile.txt<SAS-token>"
Anda dapat mentransfer seluruh konten folder lokal ke Azure File Storage menggunakan perintah serupa. Anda mengubah nama file ("myfile.txt") dengan nama folder. Jika folder berisi subfolder yang ingin Anda salin, tambahkan bendera --recursive.
Bashazcopy copy "myfolder" "https://<storage-account-name>.file.core.windows.net/<file-share-name>/myfolder<SAS-token>" --recursive
Saat proses berjalan, AzCopy akan menampilkan laporan kemajuan:
textINFO: Scanning...
INFO: Any empty folders will be processed, because source and destination both support folders
Job b86eeb8b-1f24-614e-6302-de066908d4a2 has started
Log file is located at: C:\Users\User\.azcopy\b86eeb8b-1f24-614e-6302-de066908d4a2.log
11.5 %, 126 Done, 0 Failed, 48 Pending, 0 Skipped, 174 Total, 2-sec Throughput (Mb/s): 8.2553
Setelah transfer selesai, Anda akan melihat ringkasan pekerjaan yang telah dilakukan.
textJob b86eeb8b-1f24-614e-6302-de066908d4a2 summary
Elapsed Time (Minutes): 0.6002
Number of File Transfers: 161
Number of Folder Property Transfers: 13
Total Number of Transfers: 174
Number of Transfers Completed: 174
Number of Transfers Failed: 0
Number of Transfers Skipped: 0
TotalBytesTransferred: 43686370
Final Job Status: Completed
Perintah penyalinan AzCopy juga memiliki opsi lain. Untuk informasi selengkapnya, lihat halaman Pengunggahan file di situs web Microsoft.
File pengunduhan
Anda juga dapat menggunakan perintah salinan AzCopy untuk mentransfer file dan folder dari Azure File Storage ke komputer lokal Anda. Perintah ini mirip dengan untuk mengunggah file kecuali bahwa Anda mengalihkan urutan argumen; tentukan file dan folder dalam file share terlebih dahulu serta file dan folder lokal kedua. Misalnya, untuk mengunduh file dari folder bernama myfolder dalam berbagi file bernama myshare ke folder lokal yang disebut localfolder, gunakan perintah berikut:
Bashazcopy copy "https://<storage-account-name>.file.core.windows.net/myshare/myfolder<SAS-token>" "localfolder" --rec
Latihan: Mengunggah, mengunduh, dan mengkueri data di penyimpanan data yangf bersifat non-relasional
Modul ini memerlukan sandbox untuk selesai. Sandbox memberi Anda akses ke sumber daya gratis. Langganan personal Anda tidak akan dikenakan biaya. Sandbox hanya dapat digunakan untuk menyelesaikan pelatihan Microsoft Learn. Dilarang digunakan untuk alasan lainnya karena dapat menyebabkan hilangnya akses ke sandbox secara permanen.
Dalam skenario sampel, misalnya Anda telah membuat penyimpanan data berikut:
- Database Cosmos DB berguna untuk menyimpan informasi tentang produk yang diproduksi Contoso.
- Kontainer blob di Microsoft Azure Storage untuk menyimpan gambar produk.
Dalam latihan ini, Anda akan menjalankan skrip untuk mengunggah data ke penyimpanan data ini. Anda akan melakukan kueri terhadap data dalam database Cosmos DB. Kemudian, Anda akan mengunduh dan melihat gambar yang disimpan di Azure Storage.
Anda akan melakukan latihan ini menggunakan portal Azure dan Azure Cloud Shell.
Siapkan
Di jendela Cloud Shell di sebelah kanan, jalankan perintah berikut:
Bashgit clone https://github.com/MicrosoftLearning/DP-900T00A-Azure-Data-Fundamentals dp-900
Perintah ini menyalin skrip dan data yang diperlukan untuk mengatur contoh database Cosmos DB dan akun Microsoft Azure Storage yang digunakan oleh latihan ini.
Pindah ke folder dp-900/nosql.
Bashcd dp-900/nosql
Jalankan perintah berikut.
Bashbash setup.sh
Perintah ini membuat database Cosmos DB dan akun Azure Storage dan mengisinya dengan data sampel. Dibutuhkan waktu selama 10 menit untuk beroperasi. Ketika skrip telah selesai buat catatan nilai untuk akun Cosmos DB, database, kontainer, dan nama akun Penyimpanan.
Kueri data produk pada Cosmos DB
Masuk ke portal Azure.
Pada Halaman beranda Azure, pilih menu menurun di bagian atas panel kiri, lalu pilih Semua sumber daya.

Pada halaman semua sumber daya, pilih akun Cosmos DB yang dibuat oleh skrip penyiapan. Nama akun akan menjadi cosmos yang diikuti oleh nomor acak:

Pada halaman akun Cosmos DB Anda, pilih Data Explorer. Pada halaman Data Explorer, perluas database ProductData, perluas kontainer ProductCatalog, lalu pilih Item. Verifikasi bahwa panel Item berisi daftar produk.

Pilih item melalui ID 316. Dokumen JSON yang mengandung detail untuk produk 316 akan muncul di panel kanan.

Di bilah alat, pilih Kueri SQL Baru.

Di panel Kueri 1, masukkan kueri berikut ini, lalu pilih Jalankan Kueri. Kueri ini mengembalikan nama, warna, daftar harga, deskripsi, dan nama file gambar untuk setiap model sepeda gunung yang dibuat Contoso. Kueri harus menampilkan 32 dokumen.
SQLSELECT p.productname, p.color, p.listprice, p.description, p.images.thumbnail
FROM products p
WHERE p.productcategory.subcategory = "Mountain Bikes"

Ubah kueri untuk mengembalikan informasi tentang Sepeda Jalanan, kemudian klik Jalankan Kueri.
SQLSELECT p.productname, p.color, p.listprice, p.description, p.images.thumbnail
FROM products p
WHERE p.productcategory.subcategory = "Road Bikes"
Kueri seharusnya menampilkan 43 dokumen.
Ganti kueri dengan teks berikut. Kueri ini menghitung jumlah Sepeda Balap.
SQLSELECT COUNT(p.productname)
FROM products p
WHERE p.productcategory.subcategory = "Touring Bikes"
Data dikembalikan sebagai dokumen dengan bidang dengan nama "$1" yang memiliki nilai 22.
text[
{
"$1": 22
}
]
Ubah kueri dan tambahkan kata kunci VALUE seperti yang diperlihatkan di bawah ini.
SQLSELECT VALUE COUNT(p.productname)
FROM products p
WHERE p.productcategory.subcategory = "Touring Bikes"
Kali ini kueri hanya mengembalikan nilai 22 dan tidak menghasilkan nama bidang.
text[
22
]
Jalankan kueri berikut:
SQLSELECT VALUE SUM(p.quantityinstock)
FROM products p
WHERE p.productcategory.subcategory = "Touring Bikes"
Kueri ini mengembalikan jumlah total sepeda balap yang saat ini tersedia. Hal ini seharusnya menampilkan nilai 3477.
Jika Anda memiliki waktu, silakan bereksperimen dengan beberapa pertanyaan Anda sendiri.
Menampilkan gambar di Azure Blob storage
Pada portal Microsoft Azure, di menu navigasi sebelah kiri, pilih Beranda

Pada halaman Beranda, pilih Semua sumber daya, lalu pilih akun penyimpanan yang dibuat oleh skrip penyiapan.

Pada halaman akun penyimpanan, pilih browser Storage.

Di panel Browser penyimpanan, perluas KONTAINER BLOB, lalu klik citra. Gumpalan Gambar berisi file gambar yang diunggah oleh skrip penyiapan.

Pilih gambar apa pun, lalu pilih Buka di toolbar.

Di jendela Pengunduhan file, pilih Klik di sini untuk mulai mengunduh.

File harus diunduh dengan browser. Pilih file dan buka untuk menampilkan konten.

Gambar harus ditampilkan. Secara default, Windows akan menggunakan aplikasi Photo Viewer, tetapi jika Anda memiliki konfigurasi yang berbeda, aplikasi alternatif dapat digunakan.

Jika waktu memungkinkan, silakan coba unduh dan tampilkan gambar lain.
Komentar
Posting Komentar