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.

  1. 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.

    Screenshot showing Import data selected in the Resource menu.

  2. Wählen Sie Blob(s) auswählen und dann das Speicherkonto aus, das die zu importierenden Daten enthält.

    Screenshot showing a list of storage accounts.

  3. Wählen Sie den Container aus, der die zu importierenden Daten enthält.

    Screenshot showing list of containers from the previously chosen storage account.

  4. 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.

    Screenshot showing a blob from the container.

  5. 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.

    Screenshot showing the Import button to select to begin the import.

    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.

    Screenshot showing the import progress in the notifications area.

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.

  1. 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.

    Screenshot showing Export data selected in the Resource menu

  2. 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 fehlschlägt, finden Sie weitere Informationen unter Wie führe ich einen Export aus, wenn die Firewall für mein Speicherkonto aktiviert ist?

    Weitere Informationen finden Sie unter Azure-Speicherkonto – Übersicht.

    Screenshot showing a list of containers in the working pane.

  3. 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.

    Screenshot of a list of containers with one highlighted and a select button.

  4. 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.

    Screenshot showing a blob name prefix and an Export button.

    Sie können den Status des Exportvorgangs überwachen, indem Sie die Benachrichtigungen im Azure-Portal verfolgen oder die Ereignisse im Überwachungsprotokoll anzeigen.

    Screenshot showing the export progress in the notifications area.

    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?

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:

  1. Exportieren Sie die Daten aus Ihrem Produktionscache.

  2. 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.

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:

Für die Enterprise- und Enterprise Flash-Tarife:

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.

Wie führe ich einen Export aus, wenn die Firewall für mein Speicherkonto aktiviert ist?

Für Speicherkonten mit aktivierter Firewall müssen Sie „Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto erlauben“ aktivieren. Dann verwenden Sie verwaltete Identität (Systemseitig/benutzerseitig zugewiesen), und stellen anschließend die RBAC-Rolle „Mitwirkender an Storage-Blobdaten“ für diese Objekt-ID bereit.

Weitere Informationen finden Sie unter Verwaltete Identität für Speicherkonten – Azure Cache for Redis

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?

Damit der Export in ein Azure-Speicherkonto erfolgreich funktioniert, muss das SAS-Token (Shared Access Signature) über die folgenden Berechtigungen verfügen:

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

Nächste Schritte

Erfahren Sie mehr über Azure Cache for Redis-Features.