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.
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.
Selecione Escolher blobs e escolha a conta de armazenamento que contém os dados a serem importados.
Clique no contêiner que contém os dados a serem importados.
Selecione um ou mais blobs para importar clicando na área à esquerda do nome do blob e em Selecionar.
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.
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.
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.
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.
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.
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.
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.
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.
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?
- Posso importar dados de qualquer servidor Redis?
- Quais versões do RDB posso importar?
- Meu cache está disponível durante uma operação de Importação/Exportação?
- Posso usar a Importação/Exportação com o cluster Redis?
- Como a Importação/Exportação funciona com uma configuração de bancos de dados personalizada?
- De que forma a Importação/Exportação difere da persistência do Redis?
- Posso automatizar a Importação/Exportação usando o PowerShell, CLI ou outros clientes de gerenciamento?
- Recebi um erro de tempo limite durante minha operação de Importação/Exportação. O que isso significa?
- Recebi um erro ao exportar meus dados para o Armazenamento de Blobs do Azure. O que aconteceu?
- O que devo fazer se o firewall estiver habilitado na minha conta de armazenamento?
- Posso importar ou exportar dados de uma conta de armazenamento em uma assinatura diferente do meu cache?
- Quais permissões precisam ser concedidas ao token da assinatura de acesso compartilhado (SAS) do contêiner da conta de armazenamento para permitir a 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:
Exporte os dados do cache de produção.
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.
- Ao usar o número padrão de
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:
- Instruções do PowerShell para importar dados do Redis e para exportar dados do Redis.
- Instruções da CLI do Azure para importar dados do Redis e exportar dados do Redis
Para as camadas Enterprise e Enterprise Flash:
- Instruções do PowerShell para importar dados do Redis e para exportar dados do Redis.
- Instruções da CLI do Azure para importar dados do Redis e exportar dados do Redis
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.