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.
Ejemplos de Auto Scaling utilizando el SDK para SAP ABAP
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS SDK para SAP ABAP with Auto Scaling.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar CreateAutoScalingGroup.
- 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
. DATA lo_launch_template TYPE REF TO /aws1/cl_asclaunchtemplatespec. " Example: iv_group_name = 'my-auto-scaling-group' " Example: iv_launch_template_name = 'my-launch-template' " Example: iv_min_size = 1 " Example: iv_max_size = 3 " Example: iv_vpc_zone_identifier = 'subnet-12345,subnet-67890' (for VPC) TRY. " Create launch template specification lo_launch_template = NEW /aws1/cl_asclaunchtemplatespec( iv_launchtemplatename = iv_launch_template_name iv_version = '$Default' ). " Create the Auto Scaling group " Use VPCZoneIdentifier for VPC subnets, or AvailabilityZones for EC2-Classic IF iv_vpc_zone_identifier IS NOT INITIAL. " VPC-based deployment - use subnet IDs ao_asc->createautoscalinggroup( iv_autoscalinggroupname = iv_group_name iv_vpczoneidentifier = iv_vpc_zone_identifier io_launchtemplate = lo_launch_template iv_minsize = iv_min_size iv_maxsize = iv_max_size ). ELSE. " EC2-Classic or default VPC - use availability zones ao_asc->createautoscalinggroup( iv_autoscalinggroupname = iv_group_name it_availabilityzones = it_group_zones io_launchtemplate = lo_launch_template iv_minsize = iv_min_size iv_maxsize = iv_max_size ). ENDIF. " Wait for the group to be created (simplified - in production use proper polling) WAIT UP TO 10 SECONDS. MESSAGE 'Auto Scaling group created successfully' TYPE 'I'. CATCH /aws1/cx_ascalreadyexistsfault INTO DATA(lo_already_exists). RAISE EXCEPTION lo_already_exists. CATCH /aws1/cx_asclimitexceededfault INTO DATA(lo_limit_exceeded). RAISE EXCEPTION lo_limit_exceeded. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte CreateAutoScalingGroupla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar DeleteAutoScalingGroup.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' TRY. ao_asc->deleteautoscalinggroup( iv_autoscalinggroupname = iv_group_name ). " Wait for the group to be deleted (simplified - in production use proper polling) WAIT UP TO 10 SECONDS. MESSAGE 'Auto Scaling group deleted successfully' TYPE 'I'. CATCH /aws1/cx_ascscaactivityinprg00 INTO DATA(lo_activity_in_progress). RAISE EXCEPTION lo_activity_in_progress. CATCH /aws1/cx_ascresourceinusefault INTO DATA(lo_resource_in_use). RAISE EXCEPTION lo_resource_in_use. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte DeleteAutoScalingGroupla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar DescribeAutoScalingGroups.
- 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
. DATA lt_group_names TYPE /aws1/cl_ascautoscgroupnames_w=>tt_autoscalinggroupnames. DATA lo_group_name TYPE REF TO /aws1/cl_ascautoscgroupnames_w. " Example: iv_group_name = 'my-auto-scaling-group' TRY. " Build group names parameter CREATE OBJECT lo_group_name EXPORTING iv_value = iv_group_name. APPEND lo_group_name TO lt_group_names. " Describe the Auto Scaling group DATA(lo_output) = ao_asc->describeautoscalinggroups( it_autoscalinggroupnames = lt_group_names ). " Return the first (and only) group in the result DATA(lt_groups) = lo_output->get_autoscalinggroups( ). IF lines( lt_groups ) > 0. READ TABLE lt_groups INDEX 1 INTO DATA(lo_group). oo_output = lo_group. ENDIF. MESSAGE 'Auto Scaling group information retrieved successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte DescribeAutoScalingGroupsla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar DescribeAutoScalingInstances.
- 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
. " Example: it_instance_ids contains a list of instance IDs TRY. DATA(lo_output) = ao_asc->describeautoscalinginstances( it_instanceids = it_instance_ids ). ot_output = lo_output->get_autoscalinginstances( ). MESSAGE 'Auto Scaling instances information retrieved successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte DescribeAutoScalingInstancesla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar DescribeScalingActivities.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' TRY. DATA(lo_output) = ao_asc->describescalingactivities( iv_autoscalinggroupname = iv_group_name ). ot_output = lo_output->get_activities( ). MESSAGE 'Scaling activities retrieved successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte DescribeScalingActivitiesla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar DisableMetricsCollection.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' TRY. ao_asc->disablemetricscollection( iv_autoscalinggroupname = iv_group_name ). MESSAGE 'Metrics collection disabled successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte DisableMetricsCollectionla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar EnableMetricsCollection.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' " Example: it_metrics contains list of metrics like 'GroupMinSize', 'GroupMaxSize', etc. TRY. ao_asc->enablemetricscollection( iv_autoscalinggroupname = iv_group_name it_metrics = it_metrics iv_granularity = '1Minute' ). MESSAGE 'Metrics collection enabled successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte EnableMetricsCollectionla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar SetDesiredCapacity.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' " Example: iv_capacity = 2 TRY. ao_asc->setdesiredcapacity( iv_autoscalinggroupname = iv_group_name iv_desiredcapacity = iv_capacity iv_honorcooldown = abap_false ). MESSAGE 'Desired capacity set successfully' TYPE 'I'. CATCH /aws1/cx_ascscaactivityinprg00 INTO DATA(lo_activity_in_progress). RAISE EXCEPTION lo_activity_in_progress. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte SetDesiredCapacityla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar TerminateInstanceInAutoScalingGroup.
- 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
. " Example: iv_instance_id = 'i-1234567890abcdef0' " Example: iv_decrease_capacity = abap_true TRY. DATA(lo_output) = ao_asc->terminateinstinautoscgroup( iv_instanceid = iv_instance_id iv_shoulddecrementdesiredcap = iv_decrease_capacity ). oo_output = lo_output->get_activity( ). MESSAGE 'Instance terminated successfully' TYPE 'I'. CATCH /aws1/cx_ascscaactivityinprg00 INTO DATA(lo_activity_in_progress). RAISE EXCEPTION lo_activity_in_progress. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte TerminateInstanceInAutoScalingGroupla referencia sobre la API ABAP del AWS SDK para SAP.
-
En el siguiente ejemplo de código, se muestra cómo utilizar UpdateAutoScalingGroup.
- 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
. " Example: iv_group_name = 'my-auto-scaling-group' " Example: iv_max_size = 5 TRY. ao_asc->updateautoscalinggroup( iv_autoscalinggroupname = iv_group_name iv_maxsize = iv_max_size iv_minsize = iv_min_size ). MESSAGE 'Auto Scaling group updated successfully' TYPE 'I'. CATCH /aws1/cx_ascresrccontionfault INTO DATA(lo_contention). RAISE EXCEPTION lo_contention. CATCH /aws1/cx_ascscaactivityinprg00 INTO DATA(lo_activity_in_progress). RAISE EXCEPTION lo_activity_in_progress. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_exception). RAISE EXCEPTION lo_generic_exception. ENDTRY.-
Para obtener más información sobre la API, consulte UpdateAutoScalingGroupla referencia sobre la API ABAP del AWS SDK para SAP.
-