/AWS1/IF_S3C=>CREATEJOB()¶
About CreateJob¶
This operation creates an S3 Batch Operations job.
You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects. Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more information, see S3 Batch Operations in the Amazon S3 User Guide.
- Permissions
-
For information about permissions required to use the Batch Operations, see Granting permissions for S3 Batch Operations in the Amazon S3 User Guide.
Related actions include:
You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.
Method Signature¶
METHODS /AWS1/IF_S3C~CREATEJOB
IMPORTING
!IV_ACCOUNTID TYPE /AWS1/S3CACCOUNTID OPTIONAL
!IV_CONFIRMATIONREQUIRED TYPE /AWS1/S3CCONFIRMATIONREQUIRED OPTIONAL
!IO_OPERATION TYPE REF TO /AWS1/CL_S3CJOBOPERATION OPTIONAL
!IO_REPORT TYPE REF TO /AWS1/CL_S3CJOBREPORT OPTIONAL
!IV_CLIENTREQUESTTOKEN TYPE /AWS1/S3CNONEMPTYMAXLENGTH6400 OPTIONAL
!IO_MANIFEST TYPE REF TO /AWS1/CL_S3CJOBMANIFEST OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/S3CNONEMPTYMAXLENGTH2500 OPTIONAL
!IV_PRIORITY TYPE /AWS1/S3CJOBPRIORITY OPTIONAL
!IV_ROLEARN TYPE /AWS1/S3CIAMROLEARN OPTIONAL
!IT_TAGS TYPE /AWS1/CL_S3CS3TAG=>TT_S3TAGSET OPTIONAL
!IO_MANIFESTGENERATOR TYPE REF TO /AWS1/CL_S3CJOBMANIFESTGENER00 OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_s3ccreatejobresult
RAISING
/AWS1/CX_S3CBADREQUESTEX
/AWS1/CX_S3CIDEMPOTENCYEX
/AWS1/CX_S3CINTERNALSERVICEEX
/AWS1/CX_S3CTOOMANYREQUESTSEX
/AWS1/CX_S3CCLIENTEXC
/AWS1/CX_S3CSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_accountid TYPE /AWS1/S3CACCOUNTID /AWS1/S3CACCOUNTID¶
The Amazon Web Services account ID that creates the job.
io_operation TYPE REF TO /AWS1/CL_S3CJOBOPERATION /AWS1/CL_S3CJOBOPERATION¶
The action that you want this job to perform on every object listed in the manifest. For more information about the available actions, see Operations in the Amazon S3 User Guide.
io_report TYPE REF TO /AWS1/CL_S3CJOBREPORT /AWS1/CL_S3CJOBREPORT¶
Configuration parameters for the optional job-completion report.
iv_clientrequesttoken TYPE /AWS1/S3CNONEMPTYMAXLENGTH6400 /AWS1/S3CNONEMPTYMAXLENGTH6400¶
An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.
iv_priority TYPE /AWS1/S3CJOBPRIORITY /AWS1/S3CJOBPRIORITY¶
The numerical priority for this job. Higher numbers indicate higher priority.
iv_rolearn TYPE /AWS1/S3CIAMROLEARN /AWS1/S3CIAMROLEARN¶
The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role that Batch Operations will use to run this job's action on every object in the manifest.
Optional arguments:¶
iv_confirmationrequired TYPE /AWS1/S3CCONFIRMATIONREQUIRED /AWS1/S3CCONFIRMATIONREQUIRED¶
Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.
io_manifest TYPE REF TO /AWS1/CL_S3CJOBMANIFEST /AWS1/CL_S3CJOBMANIFEST¶
Configuration parameters for the manifest.
iv_description TYPE /AWS1/S3CNONEMPTYMAXLENGTH2500 /AWS1/S3CNONEMPTYMAXLENGTH2500¶
A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.
it_tags TYPE /AWS1/CL_S3CS3TAG=>TT_S3TAGSET TT_S3TAGSET¶
A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.
io_manifestgenerator TYPE REF TO /AWS1/CL_S3CJOBMANIFESTGENER00 /AWS1/CL_S3CJOBMANIFESTGENER00¶
The attribute container for the ManifestGenerator details. Jobs must be created with either a manifest file or a ManifestGenerator, but not both.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_s3ccreatejobresult /AWS1/CL_S3CCREATEJOBRESULT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->createjob(
io_manifest = new /aws1/cl_s3cjobmanifest(
io_location = new /aws1/cl_s3cjobmanifestloc(
iv_etag = |string|
iv_objectarn = |string|
iv_objectversionid = |string|
)
io_spec = new /aws1/cl_s3cjobmanifestspec(
it_fields = VALUE /aws1/cl_s3cjobmanifestfield00=>tt_jobmanifestfieldlist(
( new /aws1/cl_s3cjobmanifestfield00( |string| ) )
)
iv_format = |string|
)
)
io_manifestgenerator = new /aws1/cl_s3cjobmanifestgener00(
io_s3jobmanifestgenerator = new /aws1/cl_s3cs3jobmanifestgen00(
io_filter = new /aws1/cl_s3cjobmanifestgener01(
io_keynameconstraint = new /aws1/cl_s3ckeynameconstraint(
it_matchanyprefix = VALUE /aws1/cl_s3cnonemptymaxlengt00=>tt_nonemptymaxlength1024strlst(
( new /aws1/cl_s3cnonemptymaxlengt00( |string| ) )
)
it_matchanysubstring = VALUE /aws1/cl_s3cnonemptymaxlengt00=>tt_nonemptymaxlength1024strlst(
( new /aws1/cl_s3cnonemptymaxlengt00( |string| ) )
)
it_matchanysuffix = VALUE /aws1/cl_s3cnonemptymaxlengt00=>tt_nonemptymaxlength1024strlst(
( new /aws1/cl_s3cnonemptymaxlengt00( |string| ) )
)
)
it_matchanyobjectencryption = VALUE /aws1/cl_s3cobjectencfilter=>tt_objectencryptionfilterlist(
(
new /aws1/cl_s3cobjectencfilter(
io_dssekms = new /aws1/cl_s3cdssekmsfilter( |string| )
io_notsse = new /aws1/cl_s3cnotssefilter( )
io_ssec = new /aws1/cl_s3cssecfilter( )
io_ssekms = new /aws1/cl_s3cssekmsfilter(
iv_bucketkeyenabled = ABAP_TRUE
iv_kmskeyarn = |string|
)
io_sses3 = new /aws1/cl_s3csses3filter( )
)
)
)
it_matchanystorageclass = VALUE /aws1/cl_s3cstorageclasslist_w=>tt_storageclasslist(
( new /aws1/cl_s3cstorageclasslist_w( |string| ) )
)
it_objectreplicationstatuses = VALUE /aws1/cl_s3creplstatfiltlist_w=>tt_replicationstatusfilterlist(
( new /aws1/cl_s3creplstatfiltlist_w( |string| ) )
)
iv_createdafter = '20150101000000.0000000'
iv_createdbefore = '20150101000000.0000000'
iv_eligibleforreplication = ABAP_TRUE
iv_objectsizelessthanbytes = 123
iv_objsizegreaterthanbytes = 123
)
io_manifestoutputlocation = new /aws1/cl_s3cs3manifestoutloc(
io_manifestencryption = new /aws1/cl_s3cgeneratedmanifes00(
io_ssekms = new /aws1/cl_s3cssekmsencryption( |string| )
io_sses3 = new /aws1/cl_s3csses3encryption( )
)
iv_bucket = |string|
iv_expectedmanifestbktowner = |string|
iv_manifestformat = |string|
iv_manifestprefix = |string|
)
iv_enablemanifestoutput = ABAP_TRUE
iv_expectedbucketowner = |string|
iv_sourcebucket = |string|
)
)
io_operation = new /aws1/cl_s3cjoboperation(
io_lambdainvoke = new /aws1/cl_s3clambdainvokeop(
it_userarguments = VALUE /aws1/cl_s3cuserarguments_w=>tt_userarguments(
(
VALUE /aws1/cl_s3cuserarguments_w=>ts_userarguments_maprow(
value = new /aws1/cl_s3cuserarguments_w( |string| )
key = |string|
)
)
)
iv_functionarn = |string|
iv_invocationschemaversion = |string|
)
io_s3computeobjectchecksum = new /aws1/cl_s3cs3compobjchksumop(
iv_checksumalgorithm = |string|
iv_checksumtype = |string|
)
io_s3deleteobjecttagging = new /aws1/cl_s3cs3deleteobjtagop( )
io_s3initiaterestoreobject = new /aws1/cl_s3cs3initiaterestor00(
iv_expirationindays = 123
iv_glacierjobtier = |string|
)
io_s3putobjectacl = new /aws1/cl_s3cs3setobjectaclop(
io_accesscontrolpolicy = new /aws1/cl_s3cs3accessctlpolicy(
io_accesscontrollist = new /aws1/cl_s3cs3accessctllist(
io_owner = new /aws1/cl_s3cs3objectowner(
iv_displayname = |string|
iv_id = |string|
)
it_grants = VALUE /aws1/cl_s3cs3grant=>tt_s3grantlist(
(
new /aws1/cl_s3cs3grant(
io_grantee = new /aws1/cl_s3cs3grantee(
iv_displayname = |string|
iv_identifier = |string|
iv_typeidentifier = |string|
)
iv_permission = |string|
)
)
)
)
iv_cannedaccesscontrollist = |string|
)
)
io_s3putobjectcopy = new /aws1/cl_s3cs3copyobjectop(
io_newobjectmetadata = new /aws1/cl_s3cs3objectmetadata(
it_usermetadata = VALUE /aws1/cl_s3cs3usermetadata_w=>tt_s3usermetadata(
(
VALUE /aws1/cl_s3cs3usermetadata_w=>ts_s3usermetadata_maprow(
key = |string|
value = new /aws1/cl_s3cs3usermetadata_w( |string| )
)
)
)
iv_cachecontrol = |string|
iv_contentdisposition = |string|
iv_contentencoding = |string|
iv_contentlanguage = |string|
iv_contentlength = 123
iv_contentmd5 = |string|
iv_contenttype = |string|
iv_httpexpiresdate = '20150101000000.0000000'
iv_requestercharged = ABAP_TRUE
iv_ssealgorithm = |string|
)
it_accesscontrolgrants = VALUE /aws1/cl_s3cs3grant=>tt_s3grantlist(
(
new /aws1/cl_s3cs3grant(
io_grantee = new /aws1/cl_s3cs3grantee(
iv_displayname = |string|
iv_identifier = |string|
iv_typeidentifier = |string|
)
iv_permission = |string|
)
)
)
it_newobjecttagging = VALUE /aws1/cl_s3cs3tag=>tt_s3tagset(
(
new /aws1/cl_s3cs3tag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_bucketkeyenabled = ABAP_TRUE
iv_cannedaccesscontrollist = |string|
iv_checksumalgorithm = |string|
iv_metadatadirective = |string|
iv_modifiedsinceconstraint = '20150101000000.0000000'
iv_objectlocklegalholdstatus = |string|
iv_objectlockmode = |string|
iv_objectlockretainuntildate = '20150101000000.0000000'
iv_redirectlocation = |string|
iv_requesterpays = ABAP_TRUE
iv_sseawskmskeyid = |string|
iv_storageclass = |string|
iv_targetkeyprefix = |string|
iv_targetresource = |string|
iv_unmodifiedsinceconstraint = '20150101000000.0000000'
)
io_s3putobjectlegalhold = new /aws1/cl_s3cs3setobjlegalhol00( new /aws1/cl_s3cs3objlocklegalhold( |string| ) )
io_s3putobjectretention = new /aws1/cl_s3cs3setobjectretop(
io_retention = new /aws1/cl_s3cs3retention(
iv_mode = |string|
iv_retainuntildate = '20150101000000.0000000'
)
iv_bypassgovernanceretention = ABAP_TRUE
)
io_s3putobjecttagging = new /aws1/cl_s3cs3setobjecttagop(
it_tagset = VALUE /aws1/cl_s3cs3tag=>tt_s3tagset(
(
new /aws1/cl_s3cs3tag(
iv_key = |string|
iv_value = |string|
)
)
)
)
io_s3replicateobject = new /aws1/cl_s3cs3rplteobjectop( )
)
io_report = new /aws1/cl_s3cjobreport(
iv_bucket = |string|
iv_enabled = ABAP_TRUE
iv_expectedbucketowner = |string|
iv_format = |string|
iv_prefix = |string|
iv_reportscope = |string|
)
it_tags = VALUE /aws1/cl_s3cs3tag=>tt_s3tagset(
(
new /aws1/cl_s3cs3tag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_accountid = |string|
iv_clientrequesttoken = |string|
iv_confirmationrequired = ABAP_TRUE
iv_description = |string|
iv_priority = 123
iv_rolearn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_jobid = lo_result->get_jobid( ).
ENDIF.