Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi per Amazon S3 con SDK per SAP ABAP
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando l' AWS SDK per SAP ABAP con Amazon S3.
Nozioni di base: esempi di codice che mostrano come eseguire le operazioni essenziali all’interno di un servizio.
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Scenari: esempi di codice che mostrano come eseguire un’attività specifica chiamando più funzioni all’interno dello stesso servizio o combinate con altri Servizi AWS.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Nozioni di base
L’esempio di codice seguente mostra come:
Crea un bucket e carica un file in tale bucket.
Scaricare un oggetto da un bucket.
Copiare un oggetto in una sottocartella in un bucket.
Elencare gli oggetti in un bucket.
Elimina il bucket e tutti gli oggetti in esso contenuti.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_s3) = /aws1/cl_s3_factory=>create( lo_session ). " Create an Amazon Simple Storage Service (Amazon S3) bucket. " TRY. " determine our region from our session DATA(lv_region) = CONV /aws1/s3_bucketlocationcnstrnt( lo_session->get_region( ) ). DATA lo_constraint TYPE REF TO /aws1/cl_s3_createbucketconf. " When in the us-east-1 region, you must not specify a constraint " In all other regions, specify the region as the constraint IF lv_region = 'us-east-1'. CLEAR lo_constraint. ELSE. lo_constraint = NEW /aws1/cl_s3_createbucketconf( lv_region ). ENDIF. lo_s3->createbucket( iv_bucket = iv_bucket_name io_createbucketconfiguration = lo_constraint ). MESSAGE 'S3 bucket created.' TYPE 'I'. CATCH /aws1/cx_s3_bucketalrdyexists. MESSAGE 'Bucket name already exists.' TYPE 'E'. CATCH /aws1/cx_s3_bktalrdyownedbyyou. MESSAGE 'Bucket already exists and is owned by you.' TYPE 'E'. ENDTRY. "Upload an object to an S3 bucket." TRY. "Get contents of file from application server." DATA lv_file_content TYPE xstring. OPEN DATASET iv_key FOR INPUT IN BINARY MODE. READ DATASET iv_key INTO lv_file_content. CLOSE DATASET iv_key. lo_s3->putobject( iv_bucket = iv_bucket_name iv_key = iv_key iv_body = lv_file_content ). MESSAGE 'Object uploaded to S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY. " Get an object from a bucket. " TRY. DATA(lo_result) = lo_s3->getobject( iv_bucket = iv_bucket_name iv_key = iv_key ). DATA(lv_object_data) = lo_result->get_body( ). MESSAGE 'Object retrieved from S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY. " Copy an object to a subfolder in a bucket. " TRY. lo_s3->copyobject( iv_bucket = iv_bucket_name iv_key = |{ iv_copy_to_folder }/{ iv_key }| iv_copysource = |{ iv_bucket_name }/{ iv_key }| ). MESSAGE 'Object copied to a subfolder.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY. " List objects in the bucket. " TRY. DATA(lo_list) = lo_s3->listobjects( iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved list of objects in S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY. DATA text TYPE string VALUE 'Object List - '. DATA lv_object_key TYPE /aws1/s3_objectkey. LOOP AT lo_list->get_contents( ) INTO DATA(lo_object). lv_object_key = lo_object->get_key( ). CONCATENATE lv_object_key ', ' INTO text. ENDLOOP. MESSAGE text TYPE'I'. " Delete the objects in a bucket. " TRY. lo_s3->deleteobject( iv_bucket = iv_bucket_name iv_key = iv_key ). lo_s3->deleteobject( iv_bucket = iv_bucket_name iv_key = |{ iv_copy_to_folder }/{ iv_key }| ). MESSAGE 'Objects deleted from S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY. " Delete the bucket. " TRY. lo_s3->deletebucket( iv_bucket = iv_bucket_name ). MESSAGE 'Deleted S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per informazioni dettagliate sull’API, consulta gli argomenti seguenti nella documentazione di riferimento dell’API AWS SDK per SAP ABAP.
-
Azioni
L’esempio di codice seguente mostra come utilizzare CopyObject.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->copyobject( iv_bucket = iv_dest_bucket iv_key = iv_dest_object iv_copysource = |{ iv_src_bucket }/{ iv_src_object }| ). MESSAGE 'Object copied to another bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta CopyObject la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare CreateBucket.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " determine our region from our session DATA(lv_region) = CONV /aws1/s3_bucketlocationcnstrnt( lo_session->get_region( ) ). DATA lo_constraint TYPE REF TO /aws1/cl_s3_createbucketconf. " When in the us-east-1 region, you must not specify a constraint " In all other regions, specify the region as the constraint IF lv_region = 'us-east-1'. CLEAR lo_constraint. ELSE. lo_constraint = NEW /aws1/cl_s3_createbucketconf( lv_region ). ENDIF. lo_s3->createbucket( iv_bucket = iv_bucket_name io_createbucketconfiguration = lo_constraint ). MESSAGE 'S3 bucket created.' TYPE 'I'. CATCH /aws1/cx_s3_bucketalrdyexists. MESSAGE 'Bucket name already exists.' TYPE 'E'. CATCH /aws1/cx_s3_bktalrdyownedbyyou. MESSAGE 'Bucket already exists and is owned by you.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta CreateBucket la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteBucket.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->deletebucket( iv_bucket = iv_bucket_name ). MESSAGE 'Deleted S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteBucket la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteBucketCors.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->deletebucketcors( iv_bucket = iv_bucket_name ). MESSAGE 'Bucket CORS configuration deleted.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteBucketCors la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteBucketLifecycle.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->deletebucketlifecycle( iv_bucket = iv_bucket_name ). MESSAGE 'Bucket lifecycle configuration deleted.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteBucketLifecycle la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteBucketPolicy.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->deletebucketpolicy( iv_bucket = iv_bucket_name ). MESSAGE 'Bucket policy deleted.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteBucketPolicy la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteObject.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. lo_s3->deleteobject( iv_bucket = iv_bucket_name iv_key = iv_object_key ). MESSAGE 'Object deleted from S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteObject la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare DeleteObjects.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->deleteobjects( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name io_delete = NEW /aws1/cl_s3_delete( it_objects = it_object_keys ) ). MESSAGE 'Objects deleted from S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta DeleteObjects la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetBucketAcl.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getbucketacl( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved bucket ACL.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetBucketAcl la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetBucketCors.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getbucketcors( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved bucket CORS configuration.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetBucketCors la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetBucketLifecycleConfiguration.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getbucketlifecycleconf( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved bucket lifecycle configuration.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetBucketLifecycleConfiguration la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetBucketPolicy.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getbucketpolicy( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). DATA(lv_policy) = oo_result->get_policy( ). MESSAGE 'Retrieved bucket policy.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetBucketPolicy la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetObject.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getobject( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name iv_key = iv_object_key ). DATA(lv_object_data) = oo_result->get_body( ). MESSAGE 'Object retrieved from S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetObject la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetObjectAcl.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getobjectacl( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name iv_key = iv_object_key ). MESSAGE 'Retrieved object ACL.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetObjectAcl la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetObjectLegalHold.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getobjectlegalhold( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name iv_key = iv_object_key ). MESSAGE 'Retrieved object legal hold status.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetObjectLegalHold la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare GetObjectLockConfiguration.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->getobjectlockconfiguration( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved object lock configuration.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta GetObjectLockConfiguration la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare HeadBucket.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->headbucket( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Bucket exists and you have access to it.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta HeadBucket la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare ListBuckets.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->listbuckets( " oo_result is returned for testing purposes. " ). DATA(lv_bucket_count) = lines( oo_result->get_buckets( ) ). MESSAGE |Retrieved { lv_bucket_count } buckets in all regions.| TYPE 'I'. CATCH /aws1/cx_rt_generic. MESSAGE 'Unable to list buckets.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta ListBuckets la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare ListObjectVersions.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->listobjectversions( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name iv_prefix = iv_prefix ). MESSAGE 'Retrieved object versions.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta ListObjectVersions la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare ListObjectsV2.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. oo_result = lo_s3->listobjectsv2( " oo_result is returned for testing purposes. " iv_bucket = iv_bucket_name ). MESSAGE 'Retrieved list of objects in S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, vedi ListObjects V2 in AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutBucketAcl.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Grant log delivery access to a bucket " iv_grantwrite = 'uri=http://acs.amazonaws.com/groups/s3/LogDelivery' lo_s3->putbucketacl( iv_bucket = iv_bucket_name iv_grantwrite = iv_grantwrite ). MESSAGE 'Bucket ACL updated.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutBucketAcl la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutBucketCors.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Allow PUT, POST, DELETE methods from http://www.example.com lo_s3->putbucketcors( iv_bucket = iv_bucket_name io_corsconfiguration = NEW /aws1/cl_s3_corsconfiguration( it_corsrules = it_cors_rules ) ). MESSAGE 'Bucket CORS configuration set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutBucketCors la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutBucketLifecycleConfiguration.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Expire objects with prefix 'logs/' after 30 days lo_s3->putbucketlifecycleconf( iv_bucket = iv_bucket_name io_lifecycleconfiguration = NEW /aws1/cl_s3_bucketlcconf( it_rules = it_lifecycle_rule ) ). MESSAGE 'Bucket lifecycle configuration set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutBucketLifecycleConfiguration la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutBucketPolicy.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example policy JSON string " iv_policy = '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789012:user/user"},"Action":["s3:GetObject"],"Resource":["arn:aws:s3:::bucketname/*"]}]}' lo_s3->putbucketpolicy( iv_bucket = iv_bucket_name iv_policy = iv_policy ). MESSAGE 'Bucket policy set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutBucketPolicy la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutBucketVersioning.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Enable versioning on a bucket " iv_status = 'Enabled' lo_s3->putbucketversioning( iv_bucket = iv_bucket_name io_versioningconfiguration = NEW /aws1/cl_s3_versioningconf( iv_status = iv_status ) ). MESSAGE 'Bucket versioning enabled.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutBucketVersioning la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutObject.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. "Get contents of file from application server." DATA lv_body TYPE xstring. OPEN DATASET iv_file_name FOR INPUT IN BINARY MODE. READ DATASET iv_file_name INTO lv_body. CLOSE DATASET iv_file_name. "Upload/put an object to an S3 bucket." TRY. lo_s3->putobject( iv_bucket = iv_bucket_name iv_key = iv_file_name iv_body = lv_body ). MESSAGE 'Object uploaded to S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutObject la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutObjectAcl.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Grant read access to an AWS user " iv_grantread = 'emailAddress=user@example.com' lo_s3->putobjectacl( iv_bucket = iv_bucket_name iv_key = iv_object_key iv_grantread = iv_grantread ). MESSAGE 'Object ACL updated.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutObjectAcl la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutObjectLegalHold.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Set legal hold status to ON " iv_status = 'ON' lo_s3->putobjectlegalhold( iv_bucket = iv_bucket_name iv_key = iv_object_key io_legalhold = NEW /aws1/cl_s3_objlocklegalhold( iv_status = iv_status ) ). MESSAGE 'Object legal hold status set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutObjectLegalHold la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutObjectLockConfiguration.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Enable object lock with default retention " iv_enabled = 'Enabled' lo_s3->putobjectlockconfiguration( iv_bucket = iv_bucket_name io_objectlockconfiguration = NEW /aws1/cl_s3_objectlockconf( iv_objectlockenabled = iv_enabled ) ). MESSAGE 'Object lock configuration set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutObjectLockConfiguration la sezione AWS SDK for SAP ABAP API Reference.
-
L’esempio di codice seguente mostra come utilizzare PutObjectRetention.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. TRY. " Example: Set retention mode to GOVERNANCE for 30 days " iv_mode = 'GOVERNANCE' " iv_retain_date should be a timestamp in the future lo_s3->putobjectretention( iv_bucket = iv_bucket_name iv_key = iv_object_key io_retention = NEW /aws1/cl_s3_objectlockret( iv_mode = iv_mode iv_retainuntildate = iv_retain_date ) iv_bypassgovernanceretention = abap_true ). MESSAGE 'Object retention set.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. CATCH /aws1/cx_s3_nosuchkey. MESSAGE 'Object key does not exist.' TYPE 'E'. ENDTRY.-
Per i dettagli sulle API, consulta PutObjectRetention la sezione AWS SDK for SAP ABAP API Reference.
-
Scenari
L’esempio di codice seguente mostra come creare un URL prefirmato per Amazon S3 e caricare un oggetto.
- SDK per SAP ABAP
-
Nota
C'è altro su. GitHub Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel repository di esempi di codice AWS
. Crea richieste prefirmate per oggetti S3 GET.
" iv_bucket_name is the bucket name " iv_key is the object name like "myfile.txt" DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_s3) = /aws1/cl_s3_factory=>create( lo_session ). "Upload a nice Hello World file to an S3 bucket." TRY. DATA(lv_contents) = cl_abap_codepage=>convert_to( 'Hello, World' ). lo_s3->putobject( iv_bucket = iv_bucket_name iv_key = iv_key iv_body = lv_contents iv_contenttype = 'text/plain' ). MESSAGE 'Object uploaded to S3 bucket.' TYPE 'I'. CATCH /aws1/cx_s3_nosuchbucket. MESSAGE 'Bucket does not exist.' TYPE 'E'. ENDTRY. " now generate a presigned URL with a 600-second expiration DATA(lo_presigner) = lo_s3->get_presigner( iv_expires_sec = 600 ). " the presigner getobject() method has the same signature as " lo_s3->getobject(), but it doesn't actually make the call. " to the service. It just prepares a presigned URL for a future call DATA(lo_presigned_req) = lo_presigner->getobject( iv_bucket = iv_bucket_name iv_key = iv_key ). " You can provide this URL to a web page, user, email etc so they " can retrieve the file. The URL will expire in 10 minutes. ov_url = lo_presigned_req->get_url( ).