Připojení dat k doplňovacímu objektu blob pomocí .NET
K objektu blob můžete připojit data vytvořením doplňovacího objektu blob. Doplňovací objekty blob jsou složené z bloků podobně jako objekty blob bloku, ale jsou optimalizované pro připojovací operace. Objekty blob připojení jsou ideální pro scénáře, jako je protokolování dat z virtuálních počítačů.
Poznámka
Příklady v tomto článku předpokládají, že jste vytvořili objekt BlobServiceClient pomocí pokynů v článku Začínáme s Azure Blob Storage a .NET. Objekty blob ve službě Azure Storage jsou uspořádané do kontejnerů. Před nahráním objektu blob musíte nejprve vytvořit kontejner. Informace o vytvoření kontejneru najdete v tématu Vytvoření kontejneru ve službě Azure Storage pomocí .NET.
Vytvoření doplňovacího objektu blob a připojení dat
Pomocí těchto metod vytvořte doplňovací objekt blob.
K připojení dat k danému doplňovacímu objektu blob použijte některou z těchto metod:
Maximální velikost v bajtech každé operace připojení je definována AppendBlobMaxAppendBlockBytes vlastnost. Následující příklad vytvoří doplňovací objekt blob a připojí k tomuto objektu blob data protokolu. Tento příklad používá Vlastnost AppendBlobMaxAppendBlockBytes k určení, zda jsou vyžadovány více operací připojení.
static async Task AppendToBlob(
BlobContainerClient containerClient,
MemoryStream logEntryStream,
string logBlobName)
{
AppendBlobClient appendBlobClient = containerClient.GetAppendBlobClient(logBlobName);
await appendBlobClient.CreateIfNotExistsAsync();
int maxBlockSize = appendBlobClient.AppendBlobMaxAppendBlockBytes;
long bytesLeft = logEntryStream.Length;
byte[] buffer = new byte[maxBlockSize];
while (bytesLeft > 0)
{
int blockSize = (int)Math.Min(bytesLeft, maxBlockSize);
int bytesRead = await logEntryStream.ReadAsync(buffer.AsMemory(0, blockSize));
await using (MemoryStream memoryStream = new MemoryStream(buffer, 0, bytesRead))
{
await appendBlobClient.AppendBlockAsync(memoryStream);
}
bytesLeft -= bytesRead;
}
}