Exportar (0) Imprimir
Expandir Tudo

Blob de instantâneo

Publicado: agosto de 2011

Atualizado: janeiro de 2014

A operação Snapshot Blob cria um instantâneo somente leitura de um blob.

A solicitação Snapshot Blob pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento:

 

  URI de solicitação do método PUT Versão de HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=snapshot

HTTP/1.1

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome de host do emulador e a porta do serviço Blob como 127.0.0.1:10000, seguida pelo nome da conta emulada:

 

  URI de solicitação do método PUT Versão de HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot

HTTP/1.1

Para obter mais informações, consulte Uso do Azure Storage Emulator para desenvolvimento e testes.

Os seguintes parâmetros adicionais podem ser especificados no URI de solicitação.

 

Parâmetro Descrição

timeout

Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definição de tempos limite para operações de serviço Blob.

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

 

Cabeçalho de solicitação Descrição

Authorization

Obrigatória. Especifica o esquema de autenticação, o nome da conta e a assinatura. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

Date ou x-ms-date

Obrigatória. Especifica o Tempo Universal Coordenado (UTC) para a solicitação. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

x-ms-version

Obrigatório para todas as solicitações autenticadas. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.

x-ms-meta-name:value

Opcional. Especifica um par de nome-valor definido pelo usuário associado ao blob. Se nenhum par de nome-valor for especificado, a operação copiará os metadados do blob de base no instantâneo. Se um ou mais pares de nome-valor forem especificados, o instantâneo será criado com os metadados especificados, e os metadados não serão copiados do blob de base.

Observe que, a partir da versão 2009-09-19, os nomes de metadados devem atender às regras de nomenclatura para identificadores C#. Consulte Nomeando e referenciando contêineres, blobs e metadados para obter mais informações.

If-Modified-Since

Opcional. Um valor DateTime. Especifique esse cabeçalho condicional para obter um instantâneo do blob somente se o blob tiver sido modificado desde a data/hora especificada. Se o blob de base não tiver sido modificado, o serviço Blob retornará o código de status 412 (Falha na Pré-condição).

If-Unmodified-Since

Opcional. Um valor DateTime. Especifique esse cabeçalho condicional para obter um instantâneo do blob somente se o blob não tiver sido modificado desde a data/hora especificada. Se o blob de base tiver sido modificado, o serviço Blob retornará o código de status 412 (Falha na Pré-condição).

If-Match

Opcional. Um valor de ETag. Especifique um valor ETag para esse cabeçalho condicional obter um instantâneo do blob somente se o seu valor ETag corresponder ao valor especificado. Se os valores não coincidirem, o serviço Blob retornará o código de status 412 (Falha na Pré-condição).

If-None-Match

Opcional. Um valor de ETag.

Especifique um valor ETag para esse cabeçalho condicional para obter um instantâneo do blob somente se o seu valor ETag não corresponder ao valor especificado. Se os valores forem idênticos, o serviço Blob retornará o código de status 412 (Falha na Pré-condição).

x-ms-lease-id:<ID>

Opcional. Se esse cabeçalho for especificado, a operação será executada apenas se as seguintes condições forem atendidas:

  • A concessão do blob está atualmente ativa.

  • A ID de concessão especificada na solicitação corresponde à do blob.

Se esse cabeçalho for especificado e nenhuma dessas condições for atendida, a solicitação não será feita e ocorrerá uma falha na operação Snapshot Blob com o código de status 412 (Falha na Pré-condição).

x-ms-client-request-id

Opcional. Fornece um valor opaco, gerado pelo cliente, com um limite de caracteres de 1 KB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. É altamente recomendável usar esse cabeçalho para correlacionar atividades do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log da Análise de Armazenamento e Log do Windows Azure: Usando logs para rastrear solicitações de armazenamento.

Essa operação também oferece suporte ao uso de cabeçalhos condicionais para executar a operação somente se uma determinada condição for atendida. Para obter mais informações, consulte Especificando cabeçalhos condicionais para operações do serviço Blob.

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Uma operação bem-sucedida retorna o código de status 201 (Criado).

Para obter informações sobre códigos de status, consulte Status e códigos de erro.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Sintaxe Descrição

x-ms-snapshot: <DateTime>

Esse cabeçalho retorna um valor DateTime que identifica o instantâneo de forma exclusiva. O valor desse cabeçalho indica a versão do instantâneo e pode ser usado em solicitações subsequentes para acessar o instantâneo. Observe que esse valor é opaco.

ETag

A ETag do instantâneo. Se a versão da solicitação for a 2011-08-18 ou mais recente, o valor de ETag será exibido entre aspas. Observe que um instantâneo não pode ser gravado, portanto, a ETag de um instantâneo específico nunca será alterado. No entanto, a ETag do instantâneo diferirá da do blob de base se novos metadados tiverem sido fornecidos à solicitação Snaphot Blob. Se não forem especificados metadados com a solicitação, a ETag do instantâneo será idêntica à do blob de base no momento em que o instantâneo foi obtido.

Last-Modified

A hora da última modificação do instantâneo. O formato da data segue a RFC 1123. Para obter mais informações, consulte Representação de valores de data/hora em cabeçalhos.

Observe que um instantâneo não pode ser gravado, portanto, a hora da última modificação um instantâneo específico nunca será alterada. No entanto, a hora da última modificação do instantâneo diferirá da do blob de base se novos metadados tiverem sido fornecidos à solicitação Snaphot Blob. Se não forem especificados metadados com a solicitação, a hora da última modificação do instantâneo será idêntica à do blob de base no momento em que o instantâneo foi obtido.

x-ms-request-id

Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na solicitação. Para obter mais informações, consulte Solucionando problemas de operações de API.

x-ms-version

Indica a versão do serviço Blob usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.

Date

Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.

Somente o proprietário da conta pode chamar essa operação.

Os instantâneos fornecem versões somente leitura de blobs. Depois de ser criado, um instantâneo pode ser lido, copiado ou excluído, mas não pode ser modificado.

Um instantâneo proporciona um modo conveniente de fazer backup de dados de blob. Você pode usar um instantâneo para restaurar um blob para uma versão anterior chamando Copiar Blob para substituir um blob de base pelo seu instantâneo.

Quando você cria um instantâneo, o serviço Blob retorna um valor DateTime que identifica, de forma exclusiva, o instantâneo em relação a seu blob de base. Esse valor pode ser usado para executar operações adicionais no instantâneo. Observe que você deve tratar esse valor DateTime como opaco.

O valor DateTime identifica o instantâneo no URI. Por exemplo, um blob de base e seus instantâneos têm URIs semelhantes ao seguinte:

  • Blob de base: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Instantâneo: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Observe que sempre que você chama a operação Snapshot Blob, um novo instantâneo é criado, com um valor DateTime exclusivo. Um blob pode dar suporte a qualquer quantidade de instantâneos. Instantâneos existentes nunca são substituídos, mas devem ser excluídos explicitamente chamando Excluir Blob e definindo o cabeçalho x-ms-include-snapshots como o valor apropriado.

Lendo, copiando e excluindo instantâneos

Uma chamada bem-sucedida para Snapshot Blob retorna um valor DateTime no cabeçalho de resposta x-ms-snapshot. Você pode usar esse valor DateTime para executar operações de leitura, exclusão ou cópia em uma versão de instantâneo específica. Qualquer operação de serviço Blob que seja válida para um instantâneo pode ser chamada especificando ?snapshot=<DateTime> depois do nome do blob.

Copiando propriedades e metadados de blob

Quando você cria um instantâneo de um blob, as propriedades do sistema a seguir são copiadas no instantâneo com os mesmos valores:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-copy-id (versão 2012-02-12 e mais recente)

  • x-ms-copy-status (versão 2012-02-12 e mais recente)

  • x-ms-copy-source (versão 2012-02-12 e mais recente)

  • x-ms-copy-progress (versão 2012-02-12 e mais recente)

  • x-ms-copy-completion-time (versão 2012-02-12 e mais recente)

  • x-ms-copy-status-description (versão 2012-02-12 e mais recente)

A lista de blocos confirmados do blob de base também será copiada no instantâneo, se o blob for de blocos. Nenhum bloco não confirmado é copiado.

O blob de instantâneo é sempre do mesmo tamanho que o blob de base no momento em que o instantâneo é criado, portanto, o valor do cabeçalho Content-Length para o blob do instantâneo será equivalente ao valor do blob de base.

Você pode especificar um ou mais novos valores de metadados para o instantâneo especificando o cabeçalho x-ms-meta-name:value na solicitação. Se esse cabeçalho não for especificado, os metadados associados ao blob de base serão copiados no instantâneo.

Especificando cabeçalhos condicionais

Você poderá especificar cabeçalhos condicionais na solicitação para obter um instantâneo do blob somente se a condição for atendida. Se a condição especificada não for atendida, o instantâneo não será criado, e o serviço Blob retornará o código de status 412 (Falha na Pré-condição), juntamente com informações adicionais sobre o erro relativas à condição não atendida.

Criando um instantâneo de um blob concedido

Se o blob de base tiver uma concessão ativa, você poderá obter um instantâneo do blob desde que as seguintes condições sejam verdadeiras para a solicitação:

  • O cabeçalho condicional x-ms-lease-id está especificado, e a ID da concessão ativa para o blob de base está incluída na solicitação. Essa condição especifica que o instantâneo seja criado apenas se a concessão estiver ativa e a ID de concessão especificada corresponder à associada ao blob.

  • O cabeçalho x-ms-lease-id não está especificado, caso em que a concessão de gravação exclusiva é ignorada.

Observe que uma concessão associada ao blob básico não é copiada no instantâneo. Os instantâneos não podem ser concedidos.

Copiando instantâneos

Quando um blob de base é copiado com a operação Copiar Blob, nenhum instantâneo do blob de base é copiado no blob de destino. Quando um blob de destino é substituído por uma cópia, todos os instantâneos associados ao blob de destino permanecem intactos sob o seu nome.

Você pode copiar um blob de instantâneo sobre o blob de base para restaurar uma versão anterior de um blob. O instantâneo permanece, mas o blob de base é substituído por uma cópia que pode ser lida e gravada.

noteObservação
Promover um instantâneo dessa maneira não gera um custo adicional para recursos de armazenamento, uma vez que os blocos ou as páginas são compartilhados entre o instantâneo e o blob de base.

Mostrar:
© 2014 Microsoft