VENDAS: 1-800-867-1389

Especificando o cabeçalho de intervalo para operações de serviço blob

Atualizado: novembro de 2014

Várias operações GET do serviço Blob oferecem suporte ao uso do cabeçalho Range HTTP padrão. Muitos clientes HTTP, incluindo a biblioteca de clientes .NET, limita o tamanho do cabeçalho Range a um inteiro de 32 bits e, dessa forma, seu valor é limitado a, no máximo, 4 GB. Como os blobs de blocos e páginas podem ter mais do que 4 GB, o serviço Blob aceita um cabeçalho de intervalo personalizado x-ms-range para qualquer operação que obtiver um cabeçalho HTTP Range.

Alguns clientes de HTTP, inclusive a biblioteca do Microsoft Silverlight, restringem completamente o acesso ao cabeçalho Range. O cabeçalho x-ms-range também pode ser usado para contornar essas limitações.

Se o cabeçalho x-ms-range for especificado em uma solicitação, o serviço usará o intervalo especificado por x-ms-range; caso contrário, o intervalo especificado pelo cabeçalho Range será usado.

noteObservação
A Biblioteca de Clientes de Armazenamento do Azure trata automaticamente da configuração do cabeçalho de intervalo na solicitação quando você define a propriedade Range do objeto PutPageProperties.

O serviço Blob aceita dois intervalos de bytes para os cabeçalhos Range e x-ms-range. O intervalo de bytes deve aderir a qualquer um dos seguintes formatos para os cabeçalhos:

  • bytes=startByte- para solicitações que usam a versão 2011-08-18 ou mais recente

  • bytes=startByte-endByte para solicitações que usam todas as versões (da 2009-04-14 até a versão mais recente)

O primeiro formato, bytes=startByte-, só está disponível para solicitações que usam a versão 2011-08-18 ou mais recente, ou o serviço emulador de armazenamento no SDK 1.6 ou mais recente. Esse intervalo retornará bytes do deslocamento startByte até o término do blob. Por exemplo, para especificar um intervalo que abranja todos os bytes após os primeiros 256 bytes de um blob, você pode transmitir qualquer um dos seguintes cabeçalhos:

  • Range: bytes=255-

  • x-ms-range: bytes=255-

O cabeçalho Content-Length na resposta é igual ao número de bytes do deslocamento até o final do blob. Usando o intervalo de exemplo anterior para um blob de 1.024 bytes de comprimento, Content-Length será 756.

Se o deslocamento for válido e não exceder o comprimento total do blob, a solicitação retornará um código de status 206 (Conteúdo Parcial). Se o deslocamento for inválido e exceder o comprimento total do blob, a solicitação retornará um código de status 416 (Intervalo Solicitado não Satisfatório).

O segundo formato, bytes=startByte-endByte, está disponível para solicitações que usam todas as versões (da 2009-04-14 até a versão mais recente) e para todas as versões do serviço emulador de armazenamento. Esse intervalo retornará bytes do deslocamento startByte até endByte. Por exemplo, para especificar um intervalo que abranja os primeiros 512 bytes de um blob, você transmitiria qualquer um dos seguintes cabeçalhos:

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

O cabeçalho Content-Length na resposta é igual ao número de bytes entre cada deslocamento. Usando o intervalo de exemplo anterior para um blob de 1.024 bytes de comprimento, Content-Length será 512.

Se o deslocamento for válido e não exceder o comprimento total do blob, a solicitação retornará um código de status 206 (Conteúdo Parcial). Se o deslocamento for inválido e exceder o comprimento total do blob, a solicitação retornará um código de status 416 (Intervalo Solicitado não Satisfatório).

Consulte também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2015 Microsoft