Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan lägga till data i en blob genom att skapa en tilläggsblob. Tilläggsblobar består av block, liknande block-blobar, men är optimerade för tilläggsåtgärder. Tilläggsblobar är idealiska för scenarier som loggning av data från virtuella datorer.
Anmärkning
Exemplen i den här artikeln förutsätter att du har skapat ett BlobServiceClient-objekt med hjälp av vägledningen i artikeln Kom igång med Azure Blob Storage och .NET . Blobar i Azure Storage är ordnade i containrar. Innan du kan ladda upp en blob måste du först skapa en container. Information om hur du skapar en container finns i Skapa en container i Azure Storage med .NET.
Skapa en tilläggsblob och lägga till data
Använd dessa metoder för att skapa en tilläggsblob.
Använd någon av dessa metoder för att lägga till data i den tilläggsbloben:
Den maximala storleken i byte för varje tilläggsåtgärd definieras av egenskapen AppendBlobMaxAppendBlockBytes . I följande exempel skapas en tilläggsblob och loggdata läggs till i den bloben. I det här exemplet används egenskapen AppendBlobMaxAppendBlockBytes för att avgöra om flera tilläggsåtgärder krävs.
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;
}
}