Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de controladores de recuperação de aplicativos usando SDK para SAP ABAP
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS SDK para SAP ABAP com o Application Recovery Controller.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar GetRoutingControlState.
- SDK para SAP ABAP
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. 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 get the routing control state oo_result = lo_client->getroutingcontrolstate( iv_routingcontrolarn = iv_routing_control_arn ). " 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_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 obter detalhes da API, consulte a GetRoutingControlStatereferência da API AWS SDK for SAP ABAP.
-
O código de exemplo a seguir mostra como usar UpdateRoutingControlState.
- SDK para SAP ABAP
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Code Examples Repository
. 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 obter detalhes da API, consulte a UpdateRoutingControlStatereferência da API AWS SDK for SAP ABAP.
-