Exportar (0) Imprimir
Expandir Tudo

Definição de tempos limite para operações de serviço Blob

Atualizado: outubro de 2011

Cada chamada para uma API de serviço Blob pode incluir um intervalo de tempo limite, que é usado de duas maneiras diferentes.

  • O serviço Blob retorna um erro quando o intervalo de tempo limite expira durante o processamento da solicitação.

  • Se você estiver usando um cliente de armazenamento, ele gerará uma exceção quando não receber uma resposta de código de status HTTP do serviço no intervalo de tempo limite. O tempo limite se aplica apenas ao recebimento do código de status, e não se aplica ao recebimento do corpo da mensagem nem à conclusão da transferência de dados ao cliente.

O intervalo de tempo limite padrão é 30 segundos para chamadas REST ao serviço Blob. O intervalo máximo de tempo limite para as operações do serviço Blob também é de 30 segundos, com algumas exceções indicadas abaixo. O serviço Blob reduz tempos limite superiores a 30 segundos. Por padrão, os clientes de armazenamento especificam um tempo limite de 90 segundos com a maioria das chamadas do serviço Blob. O serviço Blob retornará um erro se não puder preparar uma resposta correta em até 30 segundos, e o cliente de armazenamento aguardará 90 segundos para gerar uma exceção se não receber nenhuma resposta.

O intervalo de tempo limite pode ser definido para uma única solicitação de Blob usando Microsoft.WindowsAzure.StorageClient.BlobRequestOptions.Timeout e o intervalo de tempo limite padrão para todos os clientes de armazenamento de Blob pode ser definido usando Microsoft.WindowsAzure.StorageClient.CloudBlobClient.Timeout.

O exemplo de URI de REST a seguir define o intervalo de tempo limite para a operação Listar contêineres como 20 segundos:

GET https://myaccount.blob.core.windows.net?comp=list&timeout=20

O seguinte exemplo do C# define o tempo limite do cliente de armazenamento em 5 minutos para um único download de Blob:

BlobRequestOptions largeBlobDownloadOptions = new BlobRequestOptions()
{
  Timeout = TimeSpan.FromMinutes(5) // Larger timeout for larger file
};
blob.DownloadToFile(largeBlobDownloadOptions);

As seguintes operações implementam exceções ao intervalo de tempo limite padrão de 30 segundos:

  • A conclusão de chamadas para obter um blob, intervalos de páginas ou uma lista de blocos pode demorar 2 minutos por megabyte. Se uma operação estiver demorando mais de 2 minutos por megabyte em média, ela atingirá o tempo limite.

  • A conclusão de chamadas para gravar um blob, um bloco ou uma página podem demorar 10 minutos por megabyte. Se uma operação estiver demorando mais de 10 minutos por megabyte em média, ela atingirá o tempo limite.

  • O tempo limite máximo para gravar uma lista de blocos é de 60 segundos.

  • Um contêiner que foi excluído recentemente não poderá ser recriado até todos os blobs serem excluídos. Dependendo da quantidade de dados armazenados no contêiner, a exclusão completa poderá levar segundos ou minutos. Se você tentar criar um contêiner com o mesmo nome durante esse período de limpeza, sua chamada retornará um erro imediatamente.

Consulte também

Mostrar:
© 2014 Microsoft