Modificación de la política de copia de respaldo vinculada al almacén
Función
Esta API se utiliza para modificar la política de copia de respaldo asociada con el almacén.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
PUT /v5/{project_id}/backup/policy
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID de proyecto Mínimo: 1 Máximo: 256 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
enterprise_project_id |
No |
String |
ID de proyecto empresarial. Para consultar todos los proyectos empresariales, establezca este parámetro en all_granted_eps. Valor predeterminado: 0 Mínimo: 1 Máximo: 256 |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token. Mínimo: 1 Máximo: 32768 |
region |
Sí |
String |
ID de región Mínimo: 0 Máximo: 128 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
enabled |
No |
Boolean |
Si la política está habilitada. El valor predeterminado es true. |
policy_id |
Sí |
String |
ID de políticas de copias de respaldo Mínimo: 1 Máximo: 256 |
operation_definition |
No |
Parámetro de programación. |
|
trigger |
No |
BackupTriggerRequestInfo object |
Regla de programación de tiempo para la política |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
day_backups |
No |
Integer |
Cantidad máxima de copias de respaldo diarios retenidos. La última copia de respaldo de cada día se guarda a largo plazo. Este parámetro no se ve afectado por el número máximo de copias de respaldo retenidas. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
max_backups |
No |
Integer |
Número máximo de copias de respaldo automatizadas que se pueden conservar para un objeto. El valor puede ser -1 u oscilar entre 0 y 99999. Si el valor se establece en -1, las copias de respaldo no se borrarán aunque se supere el límite de cantidad de copias de respaldo retenidas configurado. Si este parámetro y retention_duration_days se dejan en blanco al mismo tiempo, las copias de respaldo se conservarán de forma permanente. Valor mínimo: 1. Valor máximo: 99999. Valor predeterminado: -1 Mínimo: -1 Máximo: 99999 |
month_backups |
No |
Integer |
Cantidad máxima de copias de respaldo mensuales retenidos. La última copia de respaldo de cada mes se guarda a largo plazo. Este parámetro no se ve afectado por el número máximo de copias de respaldo retenidas. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
retention_duration_days |
No |
Integer |
Duración de la retención de una copia de respaldo, en días. El valor máximo es 99999. Si el valor se establece en -1, las copias de respaldo no se borrarán aunque se supere la duración de retención configurada. Si este parámetro y max_backups se dejan en blanco al mismo tiempo, las copias de respaldo se conservarán permanentemente. Valor mínimo: 1. Valor máximo: 99999. Valor predeterminado: -1 Mínimo: -1 Máximo: 99999 |
timezone |
No |
String |
Zona horaria en la que se encuentra el usuario, por ejemplo, UTC+08:00. Establezca este parámetro solo después de haber configurado cualquiera de los parámetros day_backups, week_backups, month_backups, and year_backups. Mínimo: 0 Máximo: 256 |
week_backups |
No |
Integer |
Cantidad máxima de copias de respaldo semanales retenidos. La última copia de respaldo de cada semana se guarda a largo plazo. Este parámetro puede ser efectivo junto con el número máximo de copias de respaldo retenidas especificado por max_backups. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Mínimo: 0 Máximo: 100 |
year_backups |
No |
Integer |
Cantidad máxima de copias de respaldo anuales retenidos. La última copia de respaldo de cada año se guarda a largo plazo. Este parámetro puede ser efectivo junto con el número máximo de copias de respaldo retenidas especificado por max_backups. El valor oscila entre 0 y 100. Si se especifica este parámetro, se debe configurar la zona horaria. Valor mínimo: 0. Valor máximo: 100 Mínimo: 0 Máximo: 100 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
properties |
Sí |
Regla de tiempo para la ejecución de la política. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
pattern |
Sí |
Array of strings |
Regla de programación A se puede configurar un máximo de 24 reglas. La regla de programación cumple con iCalendar RFC 2445, pero solo admite los parámetros FREQ, BYDAY, BYHOUR, BYMINUTE e INTERVAL. FREQ solo se puede configurar como WEEKLY o DAILY. BYDAY se puede configurar como MO, TU, WE, TH, FR, SA o SU (siete días de la semana). BYHOUR oscila entre 0 y 23 horas. BYMINUTE oscila entre 0 minutos y 59 minutos. El intervalo de programación no debe ser inferior a 1 hora. Se permite un máximo de 24 puntos de tiempo en un día. Por ejemplo, si la hora de programación es 14:00 de lunes a domingo, establezca la regla de programación de la siguiente manera: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00. Para comenzar la programación a las 14:00 todos los días, la regla es la siguiente: FREQ=DAILY;INTERVAL=1;BYHOUR=14;BYMINUTE=00'. Mínimo: 1 Máximo: 256 Longitud de matriz: 0 - 24 |
Parámetros de respuesta
Ninguna
Solicitudes de ejemplo
Modificar la política de copia de respaldo. El ID de la política de copia de respaldo de destino es af4d08ad-2b60-4916-a5cf-8d6a23956dda.
PUT https://{endpoint}/v5/{project_id}/backup/policy { "enabled" : true, "policy_id" : "af4d08ad-2b60-4916-a5cf-8d6a23956dda", "operation_definition" : { "day_backups" : 0, "max_backups" : -1, "month_backups" : 0, "retention_duration_days" : 5, "timezone" : "UTC+08:00", "week_backups" : 0, "year_backups" : 0 }, "trigger" : { "properties" : { "pattern" : [ "FREQ=DAILY;INTERVAL=2;BYHOUR=14;BYMINUTE=00" ] } } }
Ejemplo de respuestas
Ninguna
Código de ejemplo del SDK
El código de ejemplo del SDK es el siguiente.
Java
Modificar la política de copia de respaldo.The target backup policy ID is af4d08ad-2b60-4916-a5cf-8d6a23956dda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.hss.v5.region.HssRegion; import com.huaweicloud.sdk.hss.v5.*; import com.huaweicloud.sdk.hss.v5.model.*; import java.util.List; import java.util.ArrayList; public class UpdateBackupPolicyInfoSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); UpdateBackupPolicyInfoRequest request = new UpdateBackupPolicyInfoRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); UpdateBackupPolicyRequestInfo body = new UpdateBackupPolicyRequestInfo(); List<String> listPropertiesPattern = new ArrayList<>(); listPropertiesPattern.add("FREQ=DAILY;INTERVAL=2;BYHOUR=14;BYMINUTE=00"); BackupTriggerPropertiesRequestInfo propertiesTrigger = new BackupTriggerPropertiesRequestInfo(); propertiesTrigger.withPattern(listPropertiesPattern); BackupTriggerRequestInfo triggerbody = new BackupTriggerRequestInfo(); triggerbody.withProperties(propertiesTrigger); OperationDefinitionRequestInfo operationDefinitionbody = new OperationDefinitionRequestInfo(); operationDefinitionbody.withDayBackups(0) .withMaxBackups(-1) .withMonthBackups(0) .withRetentionDurationDays(5) .withTimezone("UTC+08:00") .withWeekBackups(0) .withYearBackups(0); body.withTrigger(triggerbody); body.withOperationDefinition(operationDefinitionbody); body.withPolicyId("af4d08ad-2b60-4916-a5cf-8d6a23956dda"); body.withEnabled(true); request.withBody(body); try { UpdateBackupPolicyInfoResponse response = client.updateBackupPolicyInfo(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
Modificar la política de copia de respaldo. El ID de la política de copia de respaldo de destino es af4d08ad-2b60-4916-a5cf-8d6a23956dda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkhss.v5.region.hss_region import HssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkhss.v5 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = UpdateBackupPolicyInfoRequest() request.enterprise_project_id = "<enterprise_project_id>" listPatternProperties = [ "FREQ=DAILY;INTERVAL=2;BYHOUR=14;BYMINUTE=00" ] propertiesTrigger = BackupTriggerPropertiesRequestInfo( pattern=listPatternProperties ) triggerbody = BackupTriggerRequestInfo( properties=propertiesTrigger ) operationDefinitionbody = OperationDefinitionRequestInfo( day_backups=0, max_backups=-1, month_backups=0, retention_duration_days=5, timezone="UTC+08:00", week_backups=0, year_backups=0 ) request.body = UpdateBackupPolicyRequestInfo( trigger=triggerbody, operation_definition=operationDefinitionbody, policy_id="af4d08ad-2b60-4916-a5cf-8d6a23956dda", enabled=True ) response = client.update_backup_policy_info(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
Modificar la política de copia de respaldo. El ID de la política de copia de respaldo de destino es af4d08ad-2b60-4916-a5cf-8d6a23956dda.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.UpdateBackupPolicyInfoRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest var listPatternProperties = []string{ "FREQ=DAILY;INTERVAL=2;BYHOUR=14;BYMINUTE=00", } propertiesTrigger := &model.BackupTriggerPropertiesRequestInfo{ Pattern: listPatternProperties, } triggerbody := &model.BackupTriggerRequestInfo{ Properties: propertiesTrigger, } dayBackupsOperationDefinition:= int32(0) maxBackupsOperationDefinition:= int32(-1) monthBackupsOperationDefinition:= int32(0) retentionDurationDaysOperationDefinition:= int32(5) timezoneOperationDefinition:= "UTC+08:00" weekBackupsOperationDefinition:= int32(0) yearBackupsOperationDefinition:= int32(0) operationDefinitionbody := &model.OperationDefinitionRequestInfo{ DayBackups: &dayBackupsOperationDefinition, MaxBackups: &maxBackupsOperationDefinition, MonthBackups: &monthBackupsOperationDefinition, RetentionDurationDays: &retentionDurationDaysOperationDefinition, Timezone: &timezoneOperationDefinition, WeekBackups: &weekBackupsOperationDefinition, YearBackups: &yearBackupsOperationDefinition, } enabledUpdateBackupPolicyRequestInfo:= true request.Body = &model.UpdateBackupPolicyRequestInfo{ Trigger: triggerbody, OperationDefinition: operationDefinitionbody, PolicyId: "af4d08ad-2b60-4916-a5cf-8d6a23956dda", Enabled: &enabledUpdateBackupPolicyRequestInfo, } response, err := client.UpdateBackupPolicyInfo(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Más información
Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulte la pestaña Código de ejemplo en API Explorer. El código de ejemplo del SDK se puede generar automáticamente.
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
Modificar una política de copia de respaldo. |
Códigos de error
Consulte Códigos de error.