/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¶
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->/aws1/if_s3c~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(
key = |string|
value = new /aws1/cl_s3cuserarguments_w( |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.