Úselo UpdateRoutingControlState con un SDK AWS - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo UpdateRoutingControlState con un SDK AWS

Los siguientes ejemplos de código muestran cómo utilizar UpdateRoutingControlState.

Java
SDK para Java 2.x
nota

Hay más información GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

public static UpdateRoutingControlStateResponse updateRoutingControlState(List<ClusterEndpoint> clusterEndpoints, String routingControlArn, String routingControlState) { // As a best practice, we recommend choosing a random cluster endpoint to get or // set routing control states. // For more information, see // https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional Collections.shuffle(clusterEndpoints); for (ClusterEndpoint clusterEndpoint : clusterEndpoints) { try { System.out.println(clusterEndpoint); Route53RecoveryClusterClient client = Route53RecoveryClusterClient.builder() .endpointOverride(URI.create(clusterEndpoint.endpoint())) .region(Region.of(clusterEndpoint.region())) .build(); return client.updateRoutingControlState( UpdateRoutingControlStateRequest.builder() .routingControlArn(routingControlArn).routingControlState(routingControlState).build()); } catch (Exception exception) { System.out.println(exception); } } return null; }
  • Para obtener más información sobre la API, consulta UpdateRoutingControlStatela Referencia AWS SDK for Java 2.x de la API.

Python
SDK para Python (Boto3)
nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

import boto3 def create_recovery_client(cluster_endpoint): """ Creates a Boto3 Route 53 Application Recovery Controller client for the specified cluster endpoint URL and AWS Region. :param cluster_endpoint: The cluster endpoint URL and Region. :return: The Boto3 client. """ return boto3.client( "route53-recovery-cluster", endpoint_url=cluster_endpoint["Endpoint"], region_name=cluster_endpoint["Region"], ) def update_routing_control_state( routing_control_arn, cluster_endpoints, routing_control_state ): """ Updates the state of a routing control. Cluster endpoints are tried in sequence until the first successful response is received. :param routing_control_arn: The ARN of the routing control to update the state for. :param cluster_endpoints: The list of cluster endpoints to try. :param routing_control_state: The new routing control state. :return: The routing control update response. """ # As a best practice, we recommend choosing a random cluster endpoint to get or set routing control states. # For more information, see https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional random.shuffle(cluster_endpoints) for cluster_endpoint in cluster_endpoints: try: recovery_client = create_recovery_client(cluster_endpoint) response = recovery_client.update_routing_control_state( RoutingControlArn=routing_control_arn, RoutingControlState=routing_control_state, ) return response except Exception as error: print(error)
  • Para obtener más información sobre la API, consulta UpdateRoutingControlStatela AWS Referencia de API de SDK for Python (Boto3).

SAP ABAP
SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA lo_exception TYPE REF TO /aws1/cx_rt_generic. DATA lo_session TYPE REF TO /aws1/cl_rt_session_base. DATA lo_client TYPE REF TO /aws1/if_r5v. DATA lt_endpoints TYPE TABLE OF string. DATA lv_endpoint TYPE string. DATA lv_region TYPE /aws1/rt_region_id. " Parse the comma-separated cluster endpoints " Expected format: "https://endpoint1.com|us-west-2,https://endpoint2.com|us-east-1" SPLIT iv_cluster_endpoints AT ',' INTO TABLE lt_endpoints. " As a best practice, shuffle cluster endpoints to distribute load " For more information, see https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional " For simplicity, we'll try them in order (shuffling can be added if needed) " Try each endpoint in order LOOP AT lt_endpoints INTO lv_endpoint. TRY. " Parse endpoint and region from the format "url|region" DATA(lv_pos) = find( val = lv_endpoint sub = '|' ). IF lv_pos > 0. DATA(lv_url) = substring( val = lv_endpoint len = lv_pos ). lv_region = substring( val = lv_endpoint off = lv_pos + 1 ). ELSE. " If no region specified, use default lv_url = lv_endpoint. lv_region = 'us-east-1'. ENDIF. " Create session for this region lo_session = /aws1/cl_rt_session_aws=>create( cv_pfl ). " Create client with the specific endpoint lo_client = create_recovery_client( iv_endpoint = lv_url iv_region = lv_region io_session = lo_session ). " Try to update the routing control state oo_result = lo_client->updateroutingcontrolstate( iv_routingcontrolarn = iv_routing_control_arn iv_routingcontrolstate = iv_routing_control_state it_safetyrulestooverride = it_safety_rules_override ). " If successful, return the result RETURN. CATCH /aws1/cx_r5vendpttmpyunavailex INTO DATA(lo_endpoint_ex). " This endpoint is temporarily unavailable, try the next one lo_exception = lo_endpoint_ex. CONTINUE. CATCH /aws1/cx_r5vaccessdeniedex /aws1/cx_r5vconflictexception /aws1/cx_r5vinternalserverex /aws1/cx_r5vresourcenotfoundex /aws1/cx_r5vthrottlingex /aws1/cx_r5vvalidationex /aws1/cx_rt_generic INTO lo_exception. " For other errors, re-raise immediately RAISE EXCEPTION lo_exception. ENDTRY. ENDLOOP. " If we get here, all endpoints failed - re-raise the last exception IF lo_exception IS BOUND. RAISE EXCEPTION lo_exception. ENDIF.
  • Para obtener más información sobre la API, consulte UpdateRoutingControlStatela referencia sobre la API ABAP del AWS SDK para SAP.