Importieren und Exportieren von Daten in Azure Cache for Redis
Verwenden Sie die Import- und Exportfunktion in Azure Cache for Redis als Datenverwaltungsvorgang. Sie importieren Daten in Ihre Cache-Instanz oder exportieren Daten aus einer Cache-Instanz mithilfe einer Azure Cache for Redis Database (RDB)-Momentaufnahme. Die Momentaufnahmen werden mithilfe eines Blobs in einem Azure Storage-Konto importiert oder exportiert.
Import/Export wird in den Tarifen Premium, Enterprise und Enterprise Flash unterstützt:
- Exportieren: Sie können Ihre Azure Cache for Redis RDB-Momentaufnahmen in ein Seitenblob (Premium-Tarif) oder Blockblob (Enterprise-Tarife) exportieren.
- Importieren: Sie können die Azure Cache for Redis RDB-Momentaufnahmen aus einem Seitenblob oder einem Blockblob importieren.
Mit Import/Export können Sie zwischen verschiedenen Azure Cache for Redis-Instanzen migrieren oder den Cache vor der Nutzung mit Daten auffüllen.
Dieser Artikel enthält eine Anleitung zum Importieren und Exportieren von Daten mit Azure Cache for Redis und Antworten auf häufig gestellte Fragen.
Umfang der Verfügbarkeit
Tarif | Basic, Standard | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Verfügbar | Nein | Ja | Yes |
Kompatibilität
- Daten werden als RDB-Seitenblob im Premium-Tarif exportiert. In den Enterprise- und Enterprise Flash-Tarifen werden Daten als GZ-Blockblob exportiert.
- Caches, in denen Redis 4.0 ausgeführt wird, unterstützen RDB Version 8 und niedriger. Caches, in denen Redis 6.0 ausgeführt wird, unterstützen RDB Version 9 und niedriger.
- Exportierte Sicherungen aus neueren Versionen von Redis (z. B. Redis 6.0) können nicht in ältere Versionen von Redis importiert werden (z. B. Redis 4.0).
- RDB-Dateien aus Caches des Premium-Tarifs können in Caches des Enterprise- und Enterprise Flash-Tarifs importiert werden.
Importieren
Verwenden Sie die Importfunktion, um Redis-kompatible RDB-Dateien von beliebigen Redis-Servern zu importieren, die in einer beliebigen Cloud oder Umgebung ausgeführt werden, z. B. Redis unter Linux oder Windows oder bei einem Cloudanbieter wie Amazon Web Services und anderen. Das Importieren von Daten ist eine einfache Möglichkeit zum Erstellen eines Cache mit vorab aufgefüllten Daten. Während des Importvorgangs lädt Azure Cache for Redis die RDB-Dateien aus Azure Storage in den Arbeitsspeicher und fügt die Schlüssel anschließend in den Cache ein.
Hinweis
Stellen Sie vor Beginn des Importvorgangs sicher, dass die Redis-Datenbankdateien (RDB) in Seiten- oder Blockblobs in einen Azure-Speicher hochgeladen wurden, der sich in derselben Region und im gleichen Abonnement wie Ihre Azure Cache for Redis-Instanz befindet. Wenn Sie eine verwaltete Identität für die Authentifizierung verwenden, kann sich das Speicherkonto in einem anderen Abonnement befinden. Weitere Informationen finden Sie unter Erste Schritte mit Azure Blob Storage mit .NET. Wenn Sie die RDB-Datei mit der Azure Cache for Redis-Exportfunktion exportiert haben, ist Ihre RDB-Datei bereits in einem Seitenblob gespeichert und für den Import bereit.
Wichtig
Derzeit wird der Import vom Redis Enterprise-Tarif in den Premium-Tarif nicht unterstützt.
Um ein oder mehrere exportierte Cacheblobs zu importieren, navigieren Sie im Azure-Portal zum Cache, und wählen Sie im Ressourcenmenü die Option Daten importieren aus. Im Arbeitsbereich wird Blob(s) auswählen angezeigt, wo Sie RDB-Dateien finden können.
Wählen Sie Blob(s) auswählen und dann das Speicherkonto aus, das die zu importierenden Daten enthält.
Wählen Sie den Container aus, der die zu importierenden Daten enthält.
Wählen Sie ein oder mehrere Blobs für den Import aus, indem Sie jeweils den Bereich links vom Blobnamen und dann Auswählen auswählen.
Wählen Sie Importieren aus, um den Importvorgang zu starten.
Wichtig
Während des Importvorgangs können Cacheclients nicht auf den Cache zugreifen, und alle im Cache enthaltenen Daten werden gelöscht.
Sie können den Fortschritt des Importvorgangs überwachen, indem Sie die Benachrichtigungen im Azure-Portal verfolgen oder die Ereignisse im Aktivitätsprotokoll anzeigen.
Wichtig
Die Unterstützung von Aktivitätsprotokollen ist in den Enterprise-Ebenen noch nicht verfügbar.
Exportieren
Mit der Exportfunktion können Sie die in Azure Cache for Redis gespeicherten Daten als Redis-kompatible RDB-Dateien exportieren. Sie können diese Funktion nutzen, um Daten von einer Azure Cache for Redis-Instanz zur anderen oder auf einen anderen Redis-Server zu verschieben. Während des Exportvorgangs wird auf dem virtuellen Computer, der die Azure Cache for Redis-Serverinstanz hostet, eine temporäre Datei erstellt. Die Datei wird anschließend in das angegebene Speicherkonto hochgeladen. Nachdem der Exportvorgang mit dem Status „Erfolg“ oder „Fehler“ abgeschlossen wurde, wird die temporäre Datei gelöscht.
Um den aktuellen Inhalt des Cache in den Speicher zu exportieren, navigieren Sie im Azure-Portal zum Cache, und wählen Sie im Ressourcenmenü die Option Daten exportieren aus. Im Arbeitsbereich wird Speichercontainer auswählen angezeigt.
Wählen Sie Speichercontainer auswählen aus, um eine Liste der verfügbaren Speicherkonten anzuzeigen. Wählen Sie das gewünschte Speicherkonto aus. Das Speicherkonto muss sich in derselben Region wie Ihr Cache befinden. Wenn Sie eine verwaltete Identität für die Authentifizierung verwenden, kann sich das Speicherkonto in einem anderen Abonnement befinden. Andernfalls muss sich das Speicherkonto in demselben Abonnement und derselben Region wie der Cache befinden.
Wichtig
- Der Export erfolgt über Seitenblobs, die sowohl in klassischen als auch in Resource Manager-Speicherkonten unterstützt werden.
- Das Exportieren in ADLS Gen2-Speicherkonten wird von Azure Cache for Redis nicht unterstützt.
- In Blob Storage-Konten wird das Exportieren derzeit nicht unterstützt.
- Wenn Ihr Cachedatenexport in Speicherkonten mit aktivierter Firewall nicht erfolgreich ist, finden Sie weitere Informationen unter Was ist, wenn die Firewall für mein Speicherkonto aktiviert ist?.
Weitere Informationen finden Sie unter Azure-Speicherkonto – Übersicht.
Wählen Sie den Speichercontainer aus, der Ihren Export aufnehmen soll, und dann Auswählen. Wenn Sie einen neuen Container möchten, wählen Sie Container hinzufügen aus, um ihn zuerst hinzuzufügen, und wählen Sie ihn dann in der Liste aus.
Geben Sie ein Blobnamenspräfix ein, und wählen Sie Exportieren aus, um den Exportvorgang zu starten. Das Blobnamenpräfix wird als Präfix für die Namen der Dateien verwendet, die während des Exportvorgangs generiert werden.
Sie können den Status des Exportvorgangs überwachen, indem Sie die Benachrichtigungen im Azure-Portal verfolgen oder die Ereignisse im Überwachungsprotokoll anzeigen.
Caches können während des Exportvorgangs weiterhin genutzt werden.
Import/Export – Häufig gestellte Fragen
Dieser Abschnitt enthält häufig gestellte Fragen zum Import/Export-Feature.
- Welche Tarife unterstützen Import/Export?
- Kann ich Daten von beliebigen Redis-Servern importieren?
- Welche RDB-Versionen kann ich importieren?
- Ist der Cache während eines Import/Export-Vorgangs verfügbar?
- Kann ich Import/Export mit dem Redis-Cluster nutzen?
- Wie funktioniert Import/Export bei einer benutzerdefinierten Einstellung für Datenbanken?
- Wie unterscheidet sich Import/Export von der Redis-Persistenz?
- Kann ich Import/Export mit PowerShell, per CLI oder mit anderen Verwaltungsclients automatisieren?
- Ich habe während des Import/Export-Vorgangs einen Zeitüberschreitungsfehler erhalten. Was bedeutet das?
- Ich habe beim Exportieren der Daten in Azure Blob Storage einen Fehler erhalten. Was ist passiert?
- Was ist, wenn die Firewall für mein Speicherkonto aktiviert ist?
- Kann ich Daten aus einem Speicherkonto in einem anderen Abonnement als meinem Cache importieren oder exportieren?
- Welche Berechtigungen müssen dem SAS-Token (Shared Access Signature) des Speicherkontocontainers erteilt werden, um den Export zuzulassen?
Welche Tarife unterstützen Import/Export?
Die Import- und Exportfunktionen sind nur in den Tarifen Premium, Enterprise und Enterprise Flash verfügbar.
Kann ich Daten von beliebigen Redis-Servern importieren?
Ja. Sie können Daten importieren, die aus Azure Cache for Redis-Instanzen exportiert wurden. Sie können RDB-Dateien von Redis-Servern importieren, die in beliebigen Clouds oder Umgebungen ausgeführt werden. Zu den Umgebungen zählen Linux, Windows oder Cloudanbieter wie Amazon Web Services. Laden Sie zum Importieren dieser Daten die RDB-Datei von dem gewünschten Redis-Server in ein Seiten- oder Blockblob in einem Azure Storage-Konto. Importieren Sie sie dann in Ihre Premium-Instanz von Azure Cache for Redis.
Auf diese Weise können Sie z. B. folgende Vorgänge durchführen:
Exportieren Sie die Daten aus Ihrem Produktionscache.
Importieren Sie sie anschließend in einen Cache, der als Teil einer Stagingumgebung für Tests oder Migrationen verwendet wird.
Wichtig
Um die exportierten Daten von Redis-Servern, die nicht Azure Cache for Redis verwenden, mithilfe eines Seitenblobs zu importieren, muss die Größe des Seitenblobs an einen 512-Byte-Grenzwert angepasst werden. Beispielcode für die erforderliche Byteauffüllung finden Sie unter Beispiel für das Hochladen in ein Seitenblob.
Welche RDB-Versionen kann ich importieren?
Weitere Informationen zu unterstützten RDB-Versionen, die mit dem Import verwendet werden, finden Sie im Abschnitt „Kompatibilität“.
Ist der Cache während eines Import/Export-Vorgangs verfügbar?
- Export: Caches bleiben verfügbar, und Sie können Sie den Cache während eines Exportvorgangs weiter nutzen.
- Import: Caches sind ab dem Start eines Importvorgangs nicht mehr verfügbar und können wieder genutzt werden, nachdem der Importvorgang abgeschlossen ist.
Kann ich Import/Export mit dem Redis-Cluster nutzen?
Ja. Sie können einen Import bzw. Export auch zwischen einem gruppierten Cache und einem nicht gruppierten Cache durchführen. Da der Redis-Cluster nur Datenbank 0 unterstützt, werden Daten ausschließlich in die Datenbank 0 importiert. Wenn gruppierte Cachedaten importiert werden, werden die Schlüssel auf die Shards des Clusters verteilt.
Wie funktioniert Import/Export bei einer benutzerdefinierten Einstellung für Datenbanken?
Bei einigen Tarifen gibt es unterschiedliche Grenzwerte für Datenbanken. Wenn Sie bei der Cacheerstellung einen benutzerdefinierten Wert für die databases
-Einstellung konfiguriert haben, müssen Sie beim Importieren einige Punkte beachten.
- Beim Importieren in einen Tarif mit einem niedrigeren
databases
-Grenzwert als bei dem Tarif, aus dem Sie exportieren:- Wenn Sie die Standardanzahl für
databases
verwenden (sie beträgt bei allen Tarifen 16), gehen keine Daten verloren. - Wenn Sie eine benutzerdefinierte Anzahl für
databases
verwenden, die innerhalb der Grenzwerte für den Tarif liegt, in den Sie importieren, gehen keine Daten verloren. - Wenn Ihre exportierten Daten Daten aus einer Datenbank enthalten, die die Grenzwerte des neuen Tarifs überschreitet, werden die Daten aus den darüber hinausgehenden Datenbanken nicht importiert.
- Wenn Sie die Standardanzahl für
Wie unterscheidet sich Import/Export von der Redis-Persistenz?
Die Persistenzfunktion von Azure Cache for Redis ist in erster Linie eine Funktion für die Dauerhaftigkeit von Daten. Umgekehrt ist die Import-/Exportfunktion als Methode zum Erstellen regelmäßiger Datensicherungen für die Zeitpunktwiederherstellung konzipiert.
Wenn Persistenz konfiguriert ist, speichert Ihr Cache basierend auf einer wählbaren Sicherungshäufigkeit eine Momentaufnahme der Daten dauerhaft auf dem Datenträger. Die Daten werden mit einem Redis-proprietären Binärformat geschrieben. Bei einem schwerwiegenden Fehler, bei dem sowohl der primäre Cache als auch die Replikatcaches deaktiviert werden, werden die Cachedaten automatisch wiederhergestellt, indem die aktuellste Momentaufnahme verwendet wird.
Die Datenpersistenz ist für die Notfallwiederherstellung konzipiert. Sie ist nicht als Zeitpunktwiederherstellungsmechanismus gedacht.
- Im Premium-Tarif wird die Datenpersistenzdatei in Azure Storage gespeichert, die Datei kann jedoch nicht in einen anderen Cache importiert werden.
- Auf den Enterprise-Tarifen wird die Datenpersistenzdatei auf einem bereitgestellten Datenträger gespeichert, auf den der Benutzer nicht zugreifen kann.
Wenn Sie regelmäßige Datensicherungen für die Zeitpunktwiederherstellung erstellen möchten, empfehlen wir die Verwendung derImport-/Exportfunktion. Weitere Informationen finden Sie unter Konfigurieren von Datenpersistenz für Azure Cache for Redis.
Kann ich Import/Export mit PowerShell, per CLI oder mit anderen Verwaltungsclients automatisieren?
Ja, siehe die folgenden Anweisungen für den Premium-Tarif:
- PowerShell-Anweisungen zum Importieren von Redis-Daten und zum Exportieren von Redis-Daten.
- Azure CLI-Anweisungen zum Importieren von Redis-Daten und Exportieren von Redis-Daten
Für die Enterprise- und Enterprise Flash-Tarife:
- PowerShell-Anweisungen zum Importieren von Redis-Daten und zum Exportieren von Redis-Daten.
- Azure CLI-Anweisungen zum Importieren von Redis-Daten und Exportieren von Redis-Daten
Ich habe während des Import/Export-Vorgangs einen Zeitüberschreitungsfehler erhalten. Was bedeutet das?
Wenn Sie sich vor dem Starten des Vorgangs länger als 15 Minuten auf dem Blatt Daten importieren bzw. Daten exportieren aufhalten, wird auf der linken Seite eine Fehlermeldung angezeigt, die dem folgenden Beispiel ähnelt:
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.
Starten Sie daher den Import- oder Exportvorgang, bevor die 15 Minuten abgelaufen sind.
Ich habe beim Exportieren der Daten in Azure Blob Storage einen Fehler erhalten. Was ist passiert?
Das Exportieren funktioniert nur mit RDB-Dateien, die als Seitenblobs gespeichert sind. Andere Blobtypen, einschließlich Blobspeicherkonten mit heißen und kalten Ebenen, werden derzeit nicht unterstützt. Weitere Informationen finden Sie unter Azure-Speicherkonto – Übersicht. Wenn Sie einen Zugriffsschlüssel zum Authentifizieren eines Speicherkontos verwenden, führt das Vorhandensein von Firewallausnahmen für das Speicherkonto eher dazu, dass der Import-/Exportvorgang fehlschlägt.
Was ist, wenn die Firewall für mein Speicherkonto aktiviert ist?
Bei Verwendung einer Instanz im Tarif Premium muss in den Speicherkontoeinstellungen die Option „Erlauben Sie Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto.“ aktiviert werden. Verwenden Sie dann eine (system- oder benutzerseitig zugewiesene) verwaltete Identität, und stellen Sie die RBAC-Rolle „Mitwirkender an Storage-Blobdaten“ für die entsprechende Objekt-ID bereit.
Weitere Informationen finden Sie unter Verwaltete Identität für Speicher.
Von Instanzen vom Typ Enterprise und Enterprise Flash wird das Importieren von Daten aus Speicherkonten, die Firewalls oder private Endpunkte verwenden, bzw. das Exportieren von Daten aus solchen Speicherkonten nicht unterstützt. Das Speicherkonto muss über öffentlichen Netzwerkzugriff verfügen.
Kann ich Daten aus einem Speicherkonto in einem anderen Abonnement als meinem Cache importieren oder exportieren?
Im der Ebene Premium können Sie Daten aus einem Speicherkonto in einem anderen Abonnement als Ihrem Cache importieren und exportieren, aber Sie müssen die verwaltete Identität als Authentifizierungsmethode verwenden. Sie müssen das ausgewählte Abonnement auswählen, welches das Speicherkonto enthält, wenn Sie den Import oder Export konfigurieren.
Welche Berechtigungen müssen dem SAS-Token (Shared Access Signature) des Speicherkontocontainers erteilt werden, um den Export zuzulassen?
Zum erfolgreichen Exportieren in ein Azure-Speicherkonto muss das SAS-Token (Shared Access Signature) über folgende Berechtigungen verfügen:
read
add
create
write
delete
tag
move
Nächste Schritte
Erfahren Sie mehr über Azure Cache for Redis-Features.