AWS SDK untuk SAP ABAP fitur - AWS SDK untuk SAP ABAP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS SDK untuk SAP ABAP fitur

AWS SDK untuk SAP ABAP menyediakan fitur-fitur berikut.

Konfigurasi terprogram

Gunakan transakasi /n/AWS1/IMG IMG untuk AWS SDK untuk SAP ABAP, dan aplikasi Custom Business Configuration untuk AWS SDK untuk SAP ABAP - edisi BTP untuk konfigurasi terprogram.

Untuk memulai konfigurasi terprogram, mulailah dengan mengambil objek konfigurasi dengan perintah. get_config( )

data(lo_config) = lo_s3->get_config( ).

Setiap objek konfigurasi mengimplementasikan /AWS1/IF_RT_CONFIG antarmuka yang mencakup GET ters dan SET ters yang sesuai dengan. IMG Misalnya, wilayah default dapat diganti. Lihat contoh perintah berikut.

lo_s3->get_config( )->/aws1/if_rt_config~set_region( 'us-east-1' ).

Beberapa objek konfigurasi tidak memiliki IMG representasi dan hanya dapat diatur secara terprogram, seperti upaya coba ulang maksimum. Lihat contoh perintah berikut.

lo_s3->get_config( )->/aws1/if_rt_config~set_max_attempts( 10 ).

Objek konfigurasi juga Layanan AWS dapat mencakup metode khusus layanan yang tidak diwakili dalam/aws1/if_rt_config. Misalnya, Amazon S3 dapat menangani bucket bernama foobucket menggunakan titik akhir foobucket.s3.region.amazonaws.com virtual atau s3.region.amazonaws.com/foobucket gaya jalur. Anda dapat menerapkan penggunaan gaya jalur dengan perintah contoh berikut.

lo_s3->get_config( )->set_forcepathstyle( abap_true ).

Untuk informasi selengkapnya tentang konfigurasi layanan, lihat AWS SDK untuk SAP ABAP — Panduan Referensi API.

Pelayan

Saat bekerja dengan asinkron AWS APIs, Anda harus menunggu sumber daya tertentu tersedia sebelum mengambil tindakan lebih lanjut. Misalnya, CREATETABLE() API Amazon DynamoDB merespons langsung dengan status CREATING tabel. Anda dapat memulai operasi baca atau tulis hanya setelah status tabel berubah menjadiACTIVE. Pelayan memberi Anda kemampuan untuk mengonfirmasi bahwa AWS sumber daya berada dalam keadaan tertentu sebelum melakukan tindakan terhadapnya.

Pelayan menggunakan operasi layanan untuk polling status sumber AWS daya sampai sumber daya mencapai status yang diinginkan atau sampai ditentukan bahwa sumber daya tidak mencapai status yang diinginkan. Ini bisa memakan waktu dan rawan kesalahan untuk menulis kode ke sumber daya polling AWS terus menerus. Pelayan membantu menyederhanakan kompleksitas ini dengan mengambil tanggung jawab melakukan jajak pendapat atas nama Anda.

Lihat contoh Amazon S3 berikut menggunakan pelayan.

DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_s3) = /aws1/cl_s3_factory=>create( lo_session ). “ Create a bucket - initiates the process of creating an S3 bucket and might return before the bucket exists lo_s3→createbucket( iv_bucket = |amzn-s3-demo-bucket| ). “ Wait until the newly created bucket becomes available lo_s3->get_waiter( )->bucketexists( iv_max_wait_time = 200 iv_bucket = |amzn-s3-demo-bucket| ).
  • Dalam contoh ini, klien Amazon S3 digunakan untuk membuat bucket. get_waiter()Perintah diimplementasikan untuk menentukan kapanbucketexists.

  • Anda harus menentukan iv_max_wait_time parameter untuk setiap pelayan. Ini mewakili jumlah total waktu seorang pelayan harus menunggu sebelum selesai. Dalam contoh sebelumnya, seorang pelayan dapat berlari selama 200 detik.

  • Anda mungkin perlu memberikan input tambahan untuk parameter yang diperlukan. Pada contoh sebelumnya, nama bucket Amazon S3 diperlukan untuk parameter. iv_bucket

  • /AWS1/CX_RT_WAITER_FAILUREpengecualian menunjukkan bahwa pelayan melebihi waktu maksimum yang ditentukan dalam iv_max_wait_time parameter.

  • /AWS1/CX_RT_WAITER_TIMEOUTpengecualian menunjukkan bahwa pelayan telah berhenti karena tidak mencapai kondisi yang diinginkan.

Paginator

Beberapa Layanan AWS operasi menawarkan tanggapan halaman. Mereka diberi paginasi untuk mengembalikan jumlah data tetap dengan setiap respons. Anda perlu membuat permintaan berikutnya dengan token atau penanda untuk mengambil seluruh rangkaian hasil. Misalnya, operasi ListObjectsV2 Amazon S3 mengembalikan hingga 1.000 objek sekaligus. Anda harus membuat permintaan berikutnya dengan token yang sesuai untuk mendapatkan halaman hasil berikutnya.

Pagination adalah proses pengiriman permintaan berturut-turut untuk mengambil di mana permintaan sebelumnya ditinggalkan. Paginator adalah iterator hasil yang disediakan oleh SDK untuk SAP ABAP. Anda dapat menggunakan paginated APIs dengan mudah, dan tanpa memahami mekanisme dasar API menggunakan token pagination.

Bekerja dengan paginator

Anda dapat membuat paginator dengan get_paginator() metode yang mengembalikan objek paginator. Objek paginator memanggil operasi yang dipaginasi. Objek paginator menerima parameter yang diperlukan untuk diberikan ke API yang mendasarinya. Proses ini mengembalikan objek iterator yang dapat digunakan untuk mengulangi hasil paginasi, menggunakan metode danhas_next(). get_next()

  • has_next()mengembalikan nilai boolean yang menunjukkan jika ada lebih banyak tanggapan atau halaman yang tersedia untuk operasi yang disebut.

  • get_next()mengembalikan respon operasi.

Contoh berikut mencantumkan semua objek dalam bucket S3 diambil dengan menggunakan paginator.

DATA(lo_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ). DATA(lo_s3) = /aws1/cl_s3_factory=>create( lo_session ). TRY. DATA(lo_paginator) = lo_s3->get_paginator( ). DATA(lo_iterator) = lo_paginator->listobjectsv2( iv_bucket = 'example_bucket' ). WHILE lo_iterator->has_next( ). DATA(lo_output) = lo_iterator->get_next( ). LOOP AT lo_output->get_contents( ) INTO DATA(lo_object). WRITE: / lo_object->get_key( ), lo_object->get_size( ). ENDLOOP. ENDWHILE. CATCH /aws1/cx_rt_generic INTO DATA(lo_ex). MESSAGE lo_ex->if_message~get_text( ) TYPE 'I'. ENDTRY.

Coba lagi perilaku

SDK untuk SAP ABAP memungkinkan Anda untuk mengonfigurasi jumlah maksimum percobaan ulang untuk permintaan Layanan AWS yang gagal karena kesalahan pelambatan atau sementara. Jumlah percobaan ulang yang diizinkan di tingkat klien layanan, yaitu berapa kali SDK mencoba ulang operasi sebelum gagal dan memunculkan pengecualian ditentukan oleh AV_MAX_ATTEMPTS atribut dalam objek konfigurasi layanan. Saat objek klien layanan dibuat, SDK mengonfigurasi AV_MAX_ATTEMPTS atribut ke nilai default 3. Objek konfigurasi layanan dapat digunakan untuk secara terprogram mengatur upaya coba ulang maksimum ke nilai yang diinginkan. Lihat contoh berikut untuk lebih jelasnya.

“ Retrieve configuration object using Amazon S3 service’s get_config( ) method DATA(lo_config) = lo_s3->get_config( ). “ Set the maximum number of retries to 5 lo_config->/aws1/if_rt_config~set_max_attempts( 5 ). “ Get the value of the maximum retry attempt. DATA(lv_max_retry_attempts) = lo_config->/aws1/if_rt_config~get_max_attempts( ).
catatan

Meskipun objek konfigurasi ABAP SDK memungkinkan mode coba lagi disetel dengan /AWS1/IF_RT_CONFIG~SET_RETRY_MODE() metode ini, SDK hanya mendukung mode coba lagi. standard Untuk informasi selengkapnya, lihat Coba lagi perilaku di AWS SDKs dan Panduan Referensi Alat.