Rövid útmutató: Azure Blob Storage Ruby-ügyfélkódtár

Megtudhatja, hogyan hozhat létre, tölthet le és listázhat blobokat a Microsoft Azure Blob Storage tárolójában a Ruby használatával.

Előfeltételek

Az Azure Storage eléréséhez Azure-előfizetésre lesz szüksége. Ha még nem rendelkezik előfizetéssel, a kezdés előtt hozzon létre egy ingyenes fiókot .

Az Azure Storage-hoz való hozzáférés egy tárfiókon keresztül történik. Ebben a rövid útmutatóban hozzon létre egy tárfiókot a Azure Portal, a Azure PowerShell vagy az Azure CLI használatával. A tárfiók létrehozásával kapcsolatban lásd: Tárfiók létrehozása.

Győződjön meg arról, hogy telepítve vannak a következő további előfeltételek:

A mintaalkalmazás letöltése

A rövid útmutatóban használt mintaalkalmazás egy egyszerű Ruby-alkalmazás.

A Git használatával letöltheti az alkalmazás egy példányát a fejlesztői környezetbe. Ez a parancs klónozza az adattárat a helyi gépre:

git clone https://github.com/Azure-Samples/storage-blobs-ruby-quickstart.git

Lépjen a storage-blobs-ruby-quickstart mappába, és nyissa meg a example.rb fájlt a kódszerkesztőben.

A hitelesítési adatok másolása az Azure Portalról

A mintaalkalmazásnak hitelesítenie kell a tárfiókhoz való hozzáférést. Adja meg a tárfiók hitelesítő adatait az alkalmazásnak egy kapcsolati sztring formájában. A tárfiók hitelesítő adatainak megtekintéséhez a következőt kell tennie:

  1. A Azure Portal nyissa meg a tárfiókot.

  2. A tárfiók áttekintésének Beállítások szakaszában válassza a Hozzáférési kulcsok lehetőséget a fiók hozzáférési kulcsainak és kapcsolati sztring megjelenítéséhez.

  3. Jegyezze fel tárfiókja nevét, mert a hitelesítésnél szüksége lesz rá.

  4. Keresse meg a Kulcs értéket a key1 alatt, és válassza a Másolás lehetőséget a fiókkulcs másolásához.

    A fiókkulcs Azure Portalról történő másolását bemutató képernyőkép

A tárolási kapcsolati sztring konfigurálása

Adja meg a tárfiók nevét és a fiókkulcsot egy BlobService-példány létrehozásához az alkalmazáshoz.

A example.rb fájlban található alábbi kód egy új BlobService-objektumot hoz létre. Az accountname és az accountkey értékeket cserélje le a fiók nevére, illetve kulcsára.

# Create a BlobService object
account_name = "accountname"
account_key = "accountkey"

blob_client = Azure::Storage::Blob::BlobService.create(
    storage_account_name: account_name,
    storage_access_key: account_key
)

Minta futtatása

A minta létrehoz egy tárolót a Blob Storage-ban, létrehoz egy új blobot a tárolóban, felsorolja a tárolóban lévő blobokat, és letölti a blobot egy helyi fájlba.

Futtassa a mintát. Íme egy példa az alkalmazás futtatásából származó kimenetre:

C:\azure-samples\storage-blobs-ruby-quickstart> ruby example.rb

Creating a container: quickstartblobs18cd9ec0-f4ac-4688-a979-75c31a70503e

Creating blob: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

List blobs in the container following continuation token
        Blob name: QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Downloading blob to C:/Users/azureuser/Documents/QuickStart_6f8f29a8-879a-41fb-9db2-0b8595180728.txt

Paused, press the Enter key to delete resources created by the sample and exit the application

Amikor az Enter billentyűt lenyomja a folytatáshoz, a mintaprogram törli a tárolót és a helyi fájlt. A folytatás előtt ellenőrizze a Letöltött fájl Dokumentumok mappáját.

A tárfiókban lévő fájlok Azure Storage Explorer is megtekinthetők. Az Azure Storage Explorer egy ingyenes, platformfüggetlen eszköz, amellyel elérheti a tárfiókjával kapcsolatos információkat.

Miután ellenőrizte a fájlokat, nyomja le az Enter billentyűt a tesztfájlok törléséhez és a bemutató befejezéséhez. Nyissa meg a example.rb fájlt a kód megtekintéséhez.

A mintakód értelmezése

Ezután végigvezetjük a mintakódon, hogy megérthesse, hogyan működik.

Referenciák beszerzése a tárolóobjektumokhoz

Az első teendő a Blob Storage eléréséhez és kezeléséhez használt objektumok példányainak létrehozása. Ezek az objektumok egymásra épülnek. Mindegyiket a listában utána következő használja.

  • Hozzon létre egy példányt az Azure Storage BlobService objektumából a kapcsolati hitelesítő adatok beállításához.
  • Hozza létre a tárolóobjektumot , amely az elérni kívánt tárolót jelöli. A tárolók a blobok csoportosítására használhatók, hasonlóan ahhoz, ahogyan a számítógépen a mappákkal rendszerezi a fájlokat.

Miután létrehozta a tárolóobjektumot, létrehozhat egy blokkblobobjektumot, amely egy adott blobra mutat, amelyben érdekli. Blobok létrehozásához, letöltéséhez és másolásához használja a Blokk objektumot.

Fontos

A tárolók nevei csak kisbetűket tartalmazhatnak. A tárolók és blobok nevével kapcsolatos további információkért lásd: Tárolók, blobok és metaadatok elnevezése és hivatkozása.

A következő példakód:

  • Új tároló létrehozása
  • Engedélyeket állít be a tárolón, hogy a blobok nyilvánosak legyenek. A tároló neve quickstartblobs , hozzáfűzve egy egyedi azonosítóval.
# Create a container
container_name = "quickstartblobs" + SecureRandom.uuid
puts "\nCreating a container: " + container_name
container = blob_client.create_container(container_name)

# Set the permission so the blobs are public
blob_client.set_container_acl(container_name, "container")

Blob létrehozása a tárolóban

A Blob Storage támogatja a blokkblobokat, a hozzáfűző blobokat és az oldalblobokat. Blob létrehozásához hívja meg a create_block_blob metódust, amely átadja a blob adatait.

Az alábbi példa egy QuickStart_ nevű blobot hoz létre, amely egyedi azonosítóval és egy.txt fájlkiterjesztéssel rendelkezik a korábban létrehozott tárolóban.

# Create a new block blob containing 'Hello, World!'
blob_name = "QuickStart_" + SecureRandom.uuid + ".txt"
blob_data = "Hello, World!"
puts "\nCreating blob: " + blob_name
blob_client.create_block_blob(container.name, blob_name, blob_data)

A blokkblobok akár 4,7 TB méretűek is lehetnek, és a számolótábláktól a nagy videofájlokig bármi lehet. A lapblobokat elsősorban az IaaS virtuális gépeket visszafedő VHD-fájlokhoz használják. A hozzáfűző blobokat gyakran használják naplózáshoz, például ha fájlba szeretne írni, majd további információkat szeretne hozzáadni.

Tárolóban lévő blobok kilistázása

Szerezze be a tárolóban található fájlok listáját a list_blobs metódus használatával. Az alábbi kód lekéri a blobok listáját, majd megjeleníti a nevüket.

# List the blobs in the container
puts "\nList blobs in the container following continuation token"
nextMarker = nil
loop do
    blobs = blob_client.list_blobs(container_name, { marker: nextMarker })
    blobs.each do |blob|
        puts "\tBlob name: #{blob.name}"
    end
    nextMarker = blobs.continuation_token
    break unless nextMarker && !nextMarker.empty?
end

Blob letöltése

Töltsön le egy blobot a helyi lemezre a get_blob metódus használatával. Az alábbi kód letölti az előző szakaszban létrehozott blobot.

# Download the blob

# Set the path to the local folder for downloading
if(is_windows)
    local_path = File.expand_path("~/Documents")
else 
    local_path = File.expand_path("~/")
end

# Create the full path to the downloaded file
full_path_to_file = File.join(local_path, blob_name)

puts "\nDownloading blob to " + full_path_to_file
blob, content = blob_client.get_blob(container_name, blob_name)
File.open(full_path_to_file,"wb") {|f| f.write(content)}

Az erőforrások eltávolítása

Ha már nincs szükség blobra, távolítsa el a delete_blob . Töröljön egy teljes tárolót a delete_container metódus használatával. A tároló törlése a tárolóban tárolt blobokat is törli.

# Clean up resources, including the container and the downloaded file
blob_client.delete_container(container_name)
File.delete(full_path_to_file)

Blobokkal rendelkező Ruby-alkalmazások fejlesztéséhez használható forrásanyagok

Tekintse meg az alábbi további forrásokat a Ruby-fejlesztéshez:

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan vihet át fájlokat Azure Blob Storage és egy helyi lemez között a Ruby használatával. A Blob Storage használatával kapcsolatos további információkért tekintse meg a Tárfiók áttekintését.

A Storage Explorer és blobokkal kapcsolatos további információkért lásd: Azure Blob Storage erőforrások kezelése Storage Explorer.