Importar e exportar dados no Cache do Azure para Redis

Use a funcionalidade de importação e exportação no Cache do Azure para Redis como uma operação de gerenciamento de dados. Você importa dados para sua instância de cache ou exporta dados de uma instância de cache usando um instantâneo do Banco de Dados do Cache do Azure para Redis (RDB). Os instantâneos são importados ou exportados usando um blob em uma Conta de Armazenamento do Microsoft Azure.

Há suporte para importação/exportação nas camadas Premium, Enterprise e Enterprise Flash:

  • Exportar - você pode exportar seus instantâneos do RDB do Cache do Azure para Redis para um Blob de Páginas (camada Premium) ou Blob de Blocos (camadas Enterprise).
  • Importação - é possível importar os instantâneos do RDB do Cache do Azure para Redis a partir de um Blob de Páginas ou Blob de Blocos.

Você pode usar a Importação/Exportação para fazer a migração entre diferentes instâncias do Cache do Azure para Redis ou para preencher o cache com dados antes do uso.

Este artigo fornece um guia de importação e exportação de dados com Cache do Azure para Redis e fornece respostas para perguntas frequentes.

Escopo de disponibilidade

Camada Básico, Standard Premium Enterprise, Enterprise Flash
Disponível Não Sim Sim

Compatibilidade

  • Os dados são exportados como um blob de páginas do RDB na camada Premium. Nas camadas Enterprise e Enterprise Flash, os dados são exportados como um blob de blocos .gz.
  • Os caches que executam o Redis 4.0 dão suporte ao RDB versão 8 e anteriores. Os caches que executam o Redis 6.0 dão suporte ao RDB versão 9 e anteriores.
  • Backups exportados de versões mais recentes do Redis (por exemplo, Redis 6.0) não podem ser importados para versões mais antigas do Redis (por exemplo, Redis 4.0)
  • Os arquivos RDB de caches de camada Premium podem ser importados para caches de camada Enterprise e Enterprise Flash.

Importar

Use a importação para obter arquivos do RDB compatíveis com o Redis de qualquer servidor Redis em execução em qualquer nuvem ou ambiente, incluindo o Redis em execução no Linux, no Windows ou em qualquer provedor de nuvem, como a Amazon Web Services, entre outros. Importar os dados é uma forma fácil de criar um cache com os dados previamente populados. Durante o processo de importação, o Cache do Azure para Redis carrega os arquivos RDB do armazenamento do Azure na memória e insere as chaves no cache.

Observação

Antes de iniciar a operação de importação, verifique se os arquivos ou o arquivo (RDB) do Banco de Dados Redis foram carregados nos blobs de blocos ou de páginas no armazenamento do Azure, na mesma região e assinatura da instância do Cache do Azure para Redis. Se você estiver usando a identidade gerenciada para autenticação, a conta de armazenamento poderá estar em uma assinatura diferente. Para saber mais, consulte Introdução ao Armazenamento de Blobs do Azure. Se você exportou o arquivo RDB usando o recurso Exportação do Cache do Azure para Redis, o arquivo RDB já estará armazenado em um blob de páginas e pronto para importação.

Importante

Atualmente, não há suporte para a importação da camada Enterprise para a camada Premium do Redis.

  1. Para importar um ou mais blobs de cache exportados, navegue até seu cache no portal do Azure e selecione Importar dados no menu Recurso. No painel de trabalho, você vê Escolher Blobs, onde você pode encontrar os arquivos RDB.

    Captura de tela mostrando a opção Importar dados selecionada no menu Recurso.

  2. Selecione Escolher blobs e escolha a conta de armazenamento que contém os dados a serem importados.

    Captura de tela mostrando uma lista de contas de armazenamento.

  3. Clique no contêiner que contém os dados a serem importados.

    Captura de tela mostrando a lista de contêineres da conta de armazenamento escolhida anteriormente.

  4. Selecione um ou mais blobs para importar clicando na área à esquerda do nome do blob e em Selecionar.

    Captura de tela mostrando um blob de contêiner.

  5. Clique em Importar para iniciar o processo de importação.

    Importante

    O cache não pode ser acessado pelos clientes do cache durante o processo de importação e todos os dados existentes no cache serão excluídos.

    Captura de tela mostrando o botão Importar para selecionar para iniciar a importação.

    Você pode monitorar o progresso da operação de importação seguindo as notificações do portal do Azure ou exibindo os eventos no log de atividades.

    Importante

    O suporte ao log de atividades ainda não está disponível nas camadas Enterprise.

    Captura de tela mostrando o andamento da importação na área de notificações.

Exportação

A exportação permite exportar os dados armazenados no Cache do Azure para Redis para arquivos RDB compatíveis com Redis. É possível usar esse recurso para mover dados de uma instância do Cache do Azure para Redis para outro servidor Redis. Durante o processo de exportação, um arquivo temporário é criado na VM que hospeda a instância do servidor do Cache do Azure para Redis. Em seguida, o arquivo é carregado na conta de armazenamento designada. Após a operação de exportação ser concluída com um status de êxito ou de falha, o arquivo temporário é excluído.

  1. Para exportar o conteúdo atual do cache para o armazenamento, navegue até seu cache no portal do Azure e selecione Exportar dados no menu Recurso. Você verá a opção Escolher Contêiner de Armazenamento no painel de trabalho.

    Captura de tela mostrando a opção Exportar dados selecionada no menu Recurso

  2. Selecione Escolher Contêiner de Armazenamento para exibir uma lista de contas de armazenamento disponíveis. Selecione a conta de armazenamento que você deseja. A conta de armazenamento deve estar na mesma região do seu cache. Se você estiver usando a identidade gerenciada para autenticação, a conta de armazenamento poderá estar em uma assinatura diferente. Caso contrário, a conta de armazenamento deve estar na mesma assinatura que seu cache.

    Importante

    • A exportação funciona com blobs de página, que têm suporte em contas de armazenamento clássicas e do Resource Manager.
    • Cache do Azure para Redis não dá suporte à exportação para contas de armazenamento ADLS Gen2.
    • No momento, a exportação não tem suporte nas contas de armazenamento de blobs.
    • Se a exportação de dados do seu cache para contas de armazenamento habilitadas para Firewall falhar, consulte O que devo fazer se o firewall estiver habilitado na minha conta de armazenamento?

    Para saber mais, confira Visão geral da conta de armazenamento do Azure.

    Captura de tela mostrando uma lista de contêineres no painel de trabalho.

  3. Escolha o contêiner de armazenamento em que você deseja colocar a exportação e clique em Selecionar. Se você deseja um novo contêiner, selecione Adicionar Contêiner para adicioná-lo primeiro e depois selecione-o na lista.

    Captura de tela de uma lista de contêineres com um em destaque e um botão de seleção.

  4. Digite um Prefixo de nome de blob e selecione Exportar para iniciar o processo de exportação. O prefixo do nome de blob é usado para prefixar os nomes dos arquivos gerados por esta operação de exportação.

    Captura de tela mostrando um prefixo de nome de blob e o botão Exportar.

    Você pode monitorar o progresso da operação de exportação seguindo as notificações do Portal do Azure ou exibindo os eventos no log de auditoria.

    Captura de tela mostrando o andamento da exportação na área de notificações.

    Os caches permanecem disponíveis para uso durante o processo de exportação.

Perguntas frequentes de Importação/Exportação

Esta seção contém perguntas frequentes sobre o recurso de Importação/Exportação.

Quais camadas dão suporte à Importação/Exportação?

Os recursos de importação e exportação estão disponíveis apenas nas camadas Premium, Enterprise e Enterprise Flash.

Posso importar dados de qualquer servidor Redis?

Sim, você pode importar dados que foram exportados de instâncias do Cache do Azure para Redis. Você pode importar arquivos do RDB de qualquer servidor Redis em execução em qualquer nuvem ou ambiente. Os ambientes incluem Linux, Windows ou provedores de nuvem como a Amazon Web Services. Para importar esses dados, carregue o arquivo do RDB que está no servidor Redis desejado para uma página ou blob de blocos de uma conta de Armazenamento do Azure. Em seguida, importe-o para a instância Premium do Cache do Azure para Redis.

Por exemplo, você pode querer:

  1. Exporte os dados do cache de produção.

  2. Em seguida, importe-os para um cache usado como parte de um ambiente de preparo para teste ou migração.

Importante

Para importar com êxito os dados exportados de servidores de Redis diferentes do Cache do Azure para Redis ao usar um blob de páginas, o tamanho do blob de páginas deverá estar alinhado em um limite de 512 bytes. Para obter o código de amostra para executar qualquer preenchimento de bytes necessários, veja Exemplo de upload de blob de páginas.

Quais versões do RDB posso importar?

Para obter mais informações sobre as versões do RDB com suporte usadas com importação, veja a seção de compatibilidade.

Meu cache está disponível durante uma operação de Importação/Exportação?

  • Exportação - Os caches permanecem disponíveis e você pode continuar a usá-los durante uma operação de exportação.
  • Importação - Os caches ficam indisponíveis quando uma operação de importação é iniciada e ficam disponíveis para uso após ela ser concluída.

Posso usar a Importação/Exportação com o cluster Redis?

Sim, é possível importar/exportar entre um cache clusterizado e um não clusterizado. Já que o cluster Redis só dá suporte a banco de dados 0, quaisquer dados em bancos de dados diferentes de 0 não serão importados. Quando os dados do cache clusterizados são importados, as chaves são redistribuídas entre os fragmentos do cluster.

Como a Importação/Exportação funciona com uma configuração de bancos de dados personalizada?

Alguns tipos de preço têm diferentes limites de bancos de dados, portanto, haverá algumas considerações a fazer ao importar se você tiver configurado um valor personalizado para a configuração databases durante a criação do cache.

  • Ao importar para um tipo de preço com um limite de databases menor do que o tipo do qual você exportou:
    • Ao usar o número padrão de databases, que é 16 para todos os tipos de preços, nenhum dado será perdido.
    • Se você estiver usando um número personalizado de databases que se enquadre nos limites da camada para a qual você está importando, nenhum dado será perdido.
    • Se os dados exportados contiverem dados de um banco de dados que excede os limites da nova camada, os dados desse banco de dados de alto nível não serão importados.

De que forma a Importação/Exportação difere da persistência do Redis?

O recurso de persistência do Cache do Azure para Redis é principalmente um recurso de durabilidade de dados. Por outro lado, a funcionalidade de importação/exportação foi projetada como um método para fazer backups periódicos de dados para recuperação pontual.

Quando a persistência é configurada, o cache persiste um instantâneo dos dados para o disco, com base em uma frequência de backup configurável. Os dados são gravados com um formato binário proprietário do Redis. Se ocorrer um desastre que desabilite os caches primário e de réplica, os dados do cache serão restaurados automaticamente usando o instantâneo mais recente.

A persistência de dados foi projetada para a recuperação de desastre. Ela não tem o objetivo de ser um mecanismo de recuperação pontual.

  • Na camada Premium, o arquivo de persistência de dados é armazenado no Armazenamento do Microsoft Azure, mas o arquivo não pode ser importado para um cache diferente.
  • Nas camadas Enterprise, o arquivo de persistência de dados é armazenado em um disco montado que não é acessível ao usuário.

Se você quiser fazer backups periódicos de dados para recuperação pontual, recomendamos usar a funcionalidade de importação/exportação. Para obter mais informações, veja Como configurar a persistência de dados para Cache do Azure para Redis.

Posso automatizar a Importação/Exportação usando o PowerShell, CLI ou outros clientes de gerenciamento?

Sim, veja as instruções a seguir para a camada Premium:

Para as camadas Enterprise e Enterprise Flash:

Recebi um erro de tempo limite durante minha operação de Importação/Exportação. O que isso significa?

À esquerda, ao permanecer em Importar dados ou em Exportar dados por mais de 15 minutos antes de iniciar a operação, você recebe um erro com uma mensagem semelhante à seguinte:

The request to import data into cache 'contoso55' failed with status 'error' and error 'One of the SAS URIs provided could not be used for the following reason: The SAS token end time (se) must be at least 1 hour from now and the start time (st), if given, must be at least 15 minutes in the past.

Para resolver esse problema, inicie a operação de importação ou exportação em até 15 minutos.

Recebi um erro ao exportar meus dados para o Armazenamento de Blobs do Azure. O que aconteceu?

A exportação funciona somente com arquivos RDB armazenados como blobs de páginas. Não há suporte para outros tipos de blobs no momento, incluindo contas de armazenamento de blobs com camadas dinâmicas e estáticas. Para saber mais, confira Visão geral da conta de armazenamento do Azure. Se você estiver usando uma chave de acesso para autenticar uma conta de armazenamento, ter exceções de firewall na conta de armazenamento tende a fazer com que o processo de importação/exportação falhe.

O que devo fazer se o firewall estiver habilitado na minha conta de armazenamento?

Se estiver usando uma instância de nível Premium, você precisará verificar a opção "Permitir que os serviços do Azure na lista de serviços confiáveis acessem essa conta de armazenamento" nas configurações da sua conta de armazenamento. Em seguida, use a identidade gerenciada (atribuída pelo Sistema ou pelo Usuário) e provisione a função RBAC do Colaborador de Dados do Blob de Armazenamento para essa ID de objeto.

Para obter mais informações, confira Identidade gerenciada para contas de armazenamento: Cache do Azure para Redis

As instâncias Enterprise e Enterprise Flash não dão suporte à importação ou exportação de dados para contas de armazenamento que estão usando firewalls ou pontos de extremidade privados. A conta de armazenamento precisa ter acesso à rede pública.

Posso importar ou exportar dados de uma conta de armazenamento em uma assinatura diferente do meu cache?

Na camada Premium, você pode importar e exportar dados de uma conta de armazenamento em uma assinatura diferente do cache, mas deve usar a identidade gerenciada como o método de autenticação. Você precisará selecionar a assinatura escolhida que contém a conta de armazenamento ao configurar a importação ou exportação.

Quais permissões precisam ser concedidas ao token de assinatura de acesso compartilhado (SAS) do contêiner da conta de armazenamento para permitir a exportação?

Para que a exportação para uma conta de armazenamento do Azure funcione com sucesso, o token da assinatura de acesso compartilhado (SAS) precisa ter as seguintes permissões:

  • read
  • add
  • create
  • write
  • delete
  • tag
  • move

Próximas etapas

Saiba mais sobre os recursos do Cache do Azure para Redis.