Há mais exemplos do AWS SDK disponíveis no repositório do GitHub Documento de Exemplos do AWS SDK
Exemplos do Kinesis usando o SDK para SAP ABAP
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando oAWS SDK para SAP ABAP com Kinesis.
As noções básicas são exemplos de código que mostram como realizar as operações essenciais em um serviço.
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
Conceitos básicos
O exemplo de código a seguir mostra como:
Criar um fluxo e inserir um registro nele.
Criar um iterador de fragmento.
Ler o registro e, em seguida, limpar os recursos.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. DATA lo_stream_describe_result TYPE REF TO /aws1/cl_knsdescrstreamoutput. DATA lo_stream_description TYPE REF TO /aws1/cl_knsstreamdescription. DATA lo_sharditerator TYPE REF TO /aws1/cl_knsgetsharditerator01. DATA lo_record_result TYPE REF TO /aws1/cl_knsputrecordoutput. "Create stream." TRY. lo_kns->createstream( iv_streamname = iv_stream_name iv_shardcount = iv_shard_count ). MESSAGE 'Stream created.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceeded exception.' TYPE 'E'. CATCH /aws1/cx_knsresourceinuseex. MESSAGE 'The request processing has failed because the resource is in use.' TYPE 'E'. ENDTRY. "Wait for stream to becomes active." lo_stream_describe_result = lo_kns->describestream( iv_streamname = iv_stream_name ). lo_stream_description = lo_stream_describe_result->get_streamdescription( ). WHILE lo_stream_description->get_streamstatus( ) <> 'ACTIVE'. IF sy-index = 30. EXIT. "maximum 5 minutes" ENDIF. WAIT UP TO 10 SECONDS. lo_stream_describe_result = lo_kns->describestream( iv_streamname = iv_stream_name ). lo_stream_description = lo_stream_describe_result->get_streamdescription( ). ENDWHILE. "Create record." TRY. lo_record_result = lo_kns->putrecord( iv_streamname = iv_stream_name iv_data = iv_data iv_partitionkey = iv_partition_key ). MESSAGE 'Record created.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knskmsaccessdeniedex. MESSAGE 'You do not have permission to perform this AWS KMS action.' TYPE 'E'. CATCH /aws1/cx_knskmsdisabledex. MESSAGE 'KMS key used is disabled.' TYPE 'E'. CATCH /aws1/cx_knskmsinvalidstateex. MESSAGE 'KMS key used is in an invalid state. ' TYPE 'E'. CATCH /aws1/cx_knskmsnotfoundex. MESSAGE 'KMS key used is not found.' TYPE 'E'. CATCH /aws1/cx_knskmsoptinrequired. MESSAGE 'KMS key option is required.' TYPE 'E'. CATCH /aws1/cx_knskmsthrottlingex. MESSAGE 'The rate of requests to AWS KMS is exceeding the request quotas.' TYPE 'E'. CATCH /aws1/cx_knsprovthruputexcdex. MESSAGE 'The request rate for the stream is too high, or the requested data is too large for the available throughput.' TYPE 'E'. CATCH /aws1/cx_knsresourcenotfoundex. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY. "Create a shard iterator in order to read the record." TRY. lo_sharditerator = lo_kns->getsharditerator( iv_shardid = lo_record_result->get_shardid( ) iv_sharditeratortype = iv_sharditeratortype iv_streamname = iv_stream_name ). MESSAGE 'Shard iterator created.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knsprovthruputexcdex. MESSAGE 'The request rate for the stream is too high, or the requested data is too large for the available throughput.' TYPE 'E'. CATCH /aws1/cx_sgmresourcenotfound. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY. "Read the record." TRY. oo_result = lo_kns->getrecords( " oo_result is returned for testing purposes. " iv_sharditerator = lo_sharditerator->get_sharditerator( ) ). MESSAGE 'Shard iterator created.' TYPE 'I'. CATCH /aws1/cx_knsexpirediteratorex. MESSAGE 'Iterator expired.' TYPE 'E'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knskmsaccessdeniedex. MESSAGE 'You do not have permission to perform this AWS KMS action.' TYPE 'E'. CATCH /aws1/cx_knskmsdisabledex. MESSAGE 'KMS key used is disabled.' TYPE 'E'. CATCH /aws1/cx_knskmsinvalidstateex. MESSAGE 'KMS key used is in an invalid state. ' TYPE 'E'. CATCH /aws1/cx_knskmsnotfoundex. MESSAGE 'KMS key used is not found.' TYPE 'E'. CATCH /aws1/cx_knskmsoptinrequired. MESSAGE 'KMS key option is required.' TYPE 'E'. CATCH /aws1/cx_knskmsthrottlingex. MESSAGE 'The rate of requests to AWS KMS is exceeding the request quotas.' TYPE 'E'. CATCH /aws1/cx_knsprovthruputexcdex. MESSAGE 'The request rate for the stream is too high, or the requested data is too large for the available throughput.' TYPE 'E'. CATCH /aws1/cx_knsresourcenotfoundex. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY. "Delete stream." TRY. lo_kns->deletestream( iv_streamname = iv_stream_name ). MESSAGE 'Stream deleted.' TYPE 'I'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceeded exception.' TYPE 'E'. CATCH /aws1/cx_knsresourceinuseex. MESSAGE 'The request processing has failed because the resource is in use.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API nos tópicos a seguir na Referência de API do AWS SDK para SAP ABAP.
-
Ações
O código de exemplo a seguir mostra como usar CreateStream.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. lo_kns->createstream( iv_streamname = iv_stream_name iv_shardcount = iv_shard_count ). MESSAGE 'Stream created.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceed exception.' TYPE 'E'. CATCH /aws1/cx_knsresourceinuseex. MESSAGE 'The request processing has failed because the resource is in use.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em CreateStream na Referência da API AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar DeleteStream.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. lo_kns->deletestream( iv_streamname = iv_stream_name ). MESSAGE 'Stream deleted.' TYPE 'I'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceed exception.' TYPE 'E'. CATCH /aws1/cx_knsresourceinuseex. MESSAGE 'The request processing has failed because the resource is in use.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em DeleteStream na Referência da API AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar DescribeStream.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. oo_result = lo_kns->describestream( iv_streamname = iv_stream_name ). DATA(lt_stream_description) = oo_result->get_streamdescription( ). MESSAGE 'Streams retrieved.' TYPE 'I'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceed exception.' TYPE 'E'. CATCH /aws1/cx_knsresourcenotfoundex. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em DescribeStream na Referência da API AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar GetRecords.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. oo_result = lo_kns->getrecords( " oo_result is returned for testing purposes. " iv_sharditerator = iv_shard_iterator ). DATA(lt_records) = oo_result->get_records( ). MESSAGE 'Record retrieved.' TYPE 'I'. CATCH /aws1/cx_knsexpirediteratorex. MESSAGE 'Iterator expired.' TYPE 'E'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knskmsaccessdeniedex. MESSAGE 'You do not have permission to perform this AWS KMS action.' TYPE 'E'. CATCH /aws1/cx_knskmsdisabledex. MESSAGE 'KMS key used is disabled.' TYPE 'E'. CATCH /aws1/cx_knskmsinvalidstateex. MESSAGE 'KMS key used is in an invalid state. ' TYPE 'E'. CATCH /aws1/cx_knskmsnotfoundex. MESSAGE 'KMS key used is not found.' TYPE 'E'. CATCH /aws1/cx_knskmsoptinrequired. MESSAGE 'KMS key option is required.' TYPE 'E'. CATCH /aws1/cx_knskmsthrottlingex. MESSAGE 'The rate of requests to AWS KMS is exceeding the request quotas.' TYPE 'E'. CATCH /aws1/cx_knsprovthruputexcdex. MESSAGE 'The request rate for the stream is too high, or the requested data is too large for the available throughput.' TYPE 'E'. CATCH /aws1/cx_knsresourcenotfoundex. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em GetRecords na Referência de API do AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar ListStreams.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. oo_result = lo_kns->liststreams( " oo_result is returned for testing purposes. " "Set Limit to specify that a maximum of streams should be returned." iv_limit = iv_limit ). DATA(lt_streams) = oo_result->get_streamnames( ). MESSAGE 'Streams listed.' TYPE 'I'. CATCH /aws1/cx_knslimitexceededex. MESSAGE 'The request processing has failed because of a limit exceed exception.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em ListStreams na Referência da API AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar PutRecord.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. oo_result = lo_kns->putrecord( " oo_result is returned for testing purposes. " iv_streamname = iv_stream_name iv_data = iv_data iv_partitionkey = iv_partition_key ). MESSAGE 'Record created.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_knskmsaccessdeniedex. MESSAGE 'You do not have permission to perform this AWS KMS action.' TYPE 'E'. CATCH /aws1/cx_knskmsdisabledex. MESSAGE 'KMS key used is disabled.' TYPE 'E'. CATCH /aws1/cx_knskmsinvalidstateex. MESSAGE 'KMS key used is in an invalid state. ' TYPE 'E'. CATCH /aws1/cx_knskmsnotfoundex. MESSAGE 'KMS key used is not found.' TYPE 'E'. CATCH /aws1/cx_knskmsoptinrequired. MESSAGE 'KMS key option is required.' TYPE 'E'. CATCH /aws1/cx_knskmsthrottlingex. MESSAGE 'The rate of requests to AWS KMS is exceeding the request quotas.' TYPE 'E'. CATCH /aws1/cx_knsprovthruputexcdex. MESSAGE 'The request rate for the stream is too high, or the requested data is too large for the available throughput.' TYPE 'E'. CATCH /aws1/cx_knsresourcenotfoundex. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em PutRecord na Referência da API AWS SDK para SAP ABAP.
-
O código de exemplo a seguir mostra como usar RegisterStreamConsumer.
- SDK para SAP ABAP
-
nota
Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository
. TRY. oo_result = lo_kns->registerstreamconsumer( " oo_result is returned for testing purposes. " iv_streamarn = iv_stream_arn iv_consumername = iv_consumer_name ). MESSAGE 'Stream consumer registered.' TYPE 'I'. CATCH /aws1/cx_knsinvalidargumentex. MESSAGE 'The specified argument was not valid.' TYPE 'E'. CATCH /aws1/cx_sgmresourcelimitexcd. MESSAGE 'You have reached the limit on the number of resources.' TYPE 'E'. CATCH /aws1/cx_sgmresourceinuse. MESSAGE 'Resource being accessed is in use.' TYPE 'E'. CATCH /aws1/cx_sgmresourcenotfound. MESSAGE 'Resource being accessed is not found.' TYPE 'E'. ENDTRY.-
Consulte detalhes da API em RegisterStreamConsumer na Referência da API AWS SDK para SAP ABAP.
-