Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zasady tworzenia kopii zapasowych określają przechowywanie i harmonogram tworzenia kopii zapasowych bazy danych PostgreSQL w usłudze Azure Database for PostgreSQL. Usługa Azure Database for PostgreSQL oferuje długoterminowe przechowywanie kopii zapasowych bazy danych i obsługuje tworzenie kopii zapasowych dziennie.
Istniejące zasady tworzenia kopii zapasowych można ponownie użyć do skonfigurowania kopii zapasowych baz danych PostgreSQL w magazynie, lub można utworzyć zasady tworzenia kopii zapasowych dla magazynu Azure Recovery Services przy użyciu interfejsu API REST Data Protection dla Azure Backup. W tym artykule utworzysz zasady tworzenia kopii zapasowych.
Omówienie zasad tworzenia kopii zapasowych bazy danych PostgreSQL
Podczas gdy kopia zapasowa dysku oferuje wiele kopii zapasowych dziennie, a kopia zapasowa typu blob jest ciągłą kopią zapasową bez wyzwalacza, kopia zapasowa PostgreSQL zapewnia ochronę archiwum. Dane kopii zapasowej, które są najpierw wysyłane do magazynu, można przenieść do warstwy archiwum zgodnie ze zdefiniowaną regułą lub cyklem życia.
W tym kontekście następująca hierarchia może ułatwić zrozumienie obiektu zasad tworzenia kopii zapasowych dla bazy danych PostgreSQL:
- Reguła polityki
- Reguła tworzenia kopii zapasowej
- Parametr kopii zapasowej
- Typ kopii zapasowej (pełna kopia zapasowa bazy danych w tym przypadku)
- Początkowy magazyn danych (w którym początkowo są wykonywane kopie zapasowe)
- Wyzwalacz (jak jest wyzwalana kopia zapasowa)
- Schedule
- Domyślne kryteria tagowania (domyślny tag, który łączy wszystkie zaplanowane kopie zapasowe z regułą przechowywania)
- Parametr kopii zapasowej
- Domyślna reguła przechowywania (reguła zastosowana do wszystkich kopii zapasowych domyślnie w początkowym magazynie danych)
- Reguła tworzenia kopii zapasowej
Obiekt zasad określa, jakie typy kopii zapasowych są wyzwalane, jak są wyzwalane (za pośrednictwem harmonogramu), z czym są oznaczane, gdzie znajdują się (magazyn danych) oraz cykl życia danych w magazynie danych.
Domyślny obiekt programu PowerShell dla bazy danych PostgreSQL mówi, że co tydzień wyzwala pełną kopię zapasową. Dane zapasowe docierają do skarbca, w którym są przechowywane przez trzy miesiące.
Jeśli chcesz dodać warstwę archiwum do zasad, musisz zdecydować, kiedy dane zostaną przeniesione z magazynu do archiwum, jak długo dane pozostaną w archiwum i które z zaplanowanych kopii zapasowych powinny zostać oznaczone jako archiwizowane. Musisz dodać regułę przechowywania, która definiuje cykl życia przechowywanych danych od magazynu danych w skarbcu do magazynu danych archiwum. Reguła przechowywania określa również, jak długo dane kopii zapasowej pozostaną w magazynie danych archiwum. Następnie należy dodać tag, który oznacza zaplanowane kopie zapasowe jako kwalifikujące się do zarchiwizowania.
Wynikowy obiekt programu PowerShell jest następujący:
- Reguła polityki
- Reguła tworzenia kopii zapasowej
- Parametr kopii zapasowej
- Typ kopii zapasowej (pełna kopia zapasowa bazy danych w tym przypadku)
- Początkowy magazyn danych (w którym początkowo są wykonywane kopie zapasowe)
- Wyzwalacz (jak jest wyzwalana kopia zapasowa)
- Schedule
- Domyślne kryteria tagowania (domyślny tag, który łączy wszystkie zaplanowane kopie zapasowe z regułą przechowywania)
- Nowe kryteria tagowania nowej reguły przechowywania o tej samej nazwie
- Parametr kopii zapasowej
- Domyślna reguła przechowywania (reguła zastosowana do wszystkich kopii zapasowych domyślnie w początkowym magazynie danych)
- Nowa reguła przechowywania
- Cykl życia
- Źródłowy magazyn danych
- Okres usuwania w źródłowym magazynie danych
- Kopiowanie do docelowego magazynu danych
- Cykl życia
- Reguła tworzenia kopii zapasowej
Tworzenie zasady
Ważne
Obecnie aktualizowanie lub modyfikowanie istniejących zasad nie jest obsługiwane. Zamiast tego utwórz nową politykę z wymaganymi danymi szczegółowymi i przypisz ją do odpowiedniej instancji kopii zapasowej.
Aby utworzyć zasady tworzenia kopii zapasowych, użyj następującej PUT operacji:
PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01
Identyfikator URI dostarcza wartości {policyName} i {vaultName}. Treść żądania zawiera dodatkowe informacje.
Tworzenie treści żądania
Aby utworzyć zasady kopii zapasowej bazy danych PostgreSQL, treść żądania wymaga następujących składników:
| Nazwisko | Wymagane | Typ | Opis |
|---|---|---|---|
properties |
true |
BaseBackupPolicy: BackupPolicy |
BaseBackupPolicyResource właściwości |
Aby uzyskać pełną listę definicji w treści żądania, zobacz zasady tworzenia kopii zapasowych interfejsu API REST.
Przykładowa treść żądania
Polityka mówi:
- Mechanizm uruchamiający jest zaplanowany na cotygodniową kopię zapasową o wybranej godzinie rozpoczęcia (czas +
P1W). - Magazyn danych jest magazynem skarbcowym, ponieważ kopie zapasowe są bezpośrednio przesyłane do skarbca.
- Kopie zapasowe są przechowywane w sejfie przez trzy miesiące (
P3M).
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T06:30:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
Ważne
Formaty czasu obsługują tylko DateTime.
Time nie jest obsługiwana. Godzina dnia wskazuje godzinę rozpoczęcia tworzenia kopii zapasowej, a nie godzinę zakończenia.
Zaktualizujmy poprzedni kod JSON przy użyciu dwóch zmian:
- Dodaj kopie zapasowe w wielu dniach tygodnia.
- Dodaj magazyn danych archiwum na potrzeby długoterminowego przechowywania kopii zapasowych bazy danych PostgreSQL.
Poniższy przykład modyfikuje cotygodniową kopię zapasową do niedzieli, środy i piątku każdego tygodnia. Tablica dat harmonogramu zawiera daty, a dni tygodnia dla tych dat są traktowane dokładnie jako dni tygodnia. Należy również określić, że te harmonogramy powinny być powtarzane co tydzień. Dlatego interwał harmonogramu to 1 , a typ interwału to Weekly.
Wyzwalacz zaplanowany
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
}
Jeśli chcesz dodać ochronę archiwum, musisz zmodyfikować kod JSON zasad.
Cykl życia przechowywania
Powyższy kod JSON ma cykl życia dla początkowego magazynu danych w ramach domyślnej reguły przechowywania. W tym scenariuszu reguła informuje o usunięciu danych kopii zapasowej po trzech miesiącach. Należy dodać nową regułę przechowywania, która definiuje, kiedy dane są przenoszone do magazynu danych archiwum. Oznacza to, że dane kopii zapasowej są najpierw kopiowane do magazynu danych archiwum, a następnie usuwane w magazynie danych.
Ponadto reguła powinna definiować czasy trwania przechowywania danych w magazynie danych archiwum. Nadajmy tej nowej regule Monthlynazwę . Definiuje się, że kopie zapasowe powinny być przechowywane w magazynie danych typu vault przez 6 miesięcy, a następnie kopiowane do magazynu danych typu archiwum. Następnie usuń kopie zapasowe w magazynie danych i zachowaj dane przez 24 miesiące w magazynie danych archiwum. Na koniec usuń dane w archiwum magazynu danych.
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
Kryteria tagowania
Za każdym razem, gdy dodasz regułę przechowywania, musisz dodać odpowiedni tag we Trigger właściwości zasad. Poniższy przykład tworzy nowy tag wraz z kryteriami (czyli pierwszą pomyślną kopią zapasową miesiąca) o dokładnie takiej samej nazwie jak odpowiednia reguła przechowywania, która ma zostać zastosowana.
W tym przykładzie kryteria tagu powinny mieć nazwę Monthly:
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
Po dołączeniu wszystkich zmian kod JSON zasad będzie wyświetlany w następujący sposób:
{
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"name": "OssPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
},
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
],
"isDefault": false,
"tagInfo": {
"tagName": "Monthly"
},
"taggingPriority": 15
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P3M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P6M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": {
"copyAfter": {
"objectType": "CopyOnExpiryOption"
},
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
},
{
"deleteAfter": {
"duration": "P24M",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": null
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
}
]
}
Aby uzyskać więcej informacji na temat tworzenia zasad, zobacz Tworzenie zasad tworzenia kopii zapasowych.
Sprawdzanie odpowiedzi
Tworzenie lub aktualizowanie zasad kopii zapasowych jest operacją synchroniczną. Po pomyślnym zakończeniu operacji zwraca ona następującą odpowiedź stanu z zawartością zasad w treści odpowiedzi.
| Nazwisko | Typ | Opis |
|---|---|---|
200 OK |
BaseBackupPolicyResource |
Operacja została ukończona. |
Przykładowa odpowiedź
{
"properties": {
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"trigger": {
"schedule": {
"repeatingTimeIntervals": [
"R/2021-08-15T22:00:00+00:00/P1W",
"R/2021-08-18T22:00:00+00:00/P1W",
"R/2021-08-20T22:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"tagInfo": {
"tagName": "Monthly",
"id": "Monthly_"
},
"taggingPriority": 15,
"isDefault": false,
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"objectType": "ScheduleBasedBackupCriteria"
}
]
},
{
"tagInfo": {
"tagName": "Default",
"id": "Default_"
},
"taggingPriority": 99,
"isDefault": true
}
],
"objectType": "ScheduleBasedTriggerContext"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P6M"
},
"targetDataStoreCopySettings": [
{
"dataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
},
"copyAfter": {
"objectType": "CopyOnExpiryOption"
}
}
],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
},
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P24M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "ArchiveStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": false,
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"lifecycles": [
{
"deleteAfter": {
"objectType": "AbsoluteDeleteOption",
"duration": "P3M"
},
"targetDataStoreCopySettings": [],
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
}
}
],
"isDefault": true,
"name": "Default",
"objectType": "AzureRetentionRule"
}
],
"datasourceTypes": [
"Microsoft.DBforPostgreSQL/servers/databases"
],
"objectType": "BackupPolicy"
},
"id": "/subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/DebRG1/providers/Microsoft.DataProtection/backupVaults/DebBackupVault/backupPolicies/OssPolicy1",
"name": "OssPolicy1",
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Treści powiązane
- Tworzenie kopii zapasowych dysków platformy Azure przy użyciu interfejsu API REST ochrony danych.
- Azure Backup Data Protection API REST.
- Dokumentacja interfejsu API REST platformy Azure.
- Śledzenie zadań tworzenia kopii zapasowych i przywracania przy użyciu interfejsu API REST w usłudze Azure Backup.
- Zarządzanie serwerem usługi Azure Database for PostgreSQL przy użyciu witryny Azure Portal.