/AWS1/IF_MDD=>PUTOBJECT()¶
About PutObject¶
Uploads an object to the specified path. Object sizes are limited to 25 MB for standard upload availability and 10 MB for streaming upload availability.
Method Signature¶
METHODS /AWS1/IF_MDD~PUTOBJECT
IMPORTING
!IV_BODY TYPE /AWS1/MDDPAYLOADBLOB OPTIONAL
!IV_PATH TYPE /AWS1/MDDPATHNAMING OPTIONAL
!IV_CONTENTTYPE TYPE /AWS1/MDDCONTENTTYPE OPTIONAL
!IV_CACHECONTROL TYPE /AWS1/MDDSTRINGPRIMITIVE OPTIONAL
!IV_STORAGECLASS TYPE /AWS1/MDDSTORAGECLASS OPTIONAL
!IV_UPLOADAVAILABILITY TYPE /AWS1/MDDUPLOADAVAILABILITY OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_mddputobjectresponse
RAISING
/AWS1/CX_MDDCONTAINERNOTFNDEX
/AWS1/CX_MDDINTERNALSERVERERR
/AWS1/CX_MDDCLIENTEXC
/AWS1/CX_MDDSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_body TYPE /AWS1/MDDPAYLOADBLOB /AWS1/MDDPAYLOADBLOB¶
The bytes to be stored.
iv_path TYPE /AWS1/MDDPATHNAMING /AWS1/MDDPATHNAMING¶
The path (including the file name) where the object is stored in the container. Format:
/ / For example, to upload the file
mlaw.avito the folder pathpremium\canadain the containermovies, enter the pathpremium/canada/mlaw.avi.Do not include the container name in this path.
If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing
premium/usasubfolder. If you specifypremium/canada, the service creates acanadasubfolder in thepremiumfolder. You then have two subfolders,usaandcanada, in thepremiumfolder.There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore.
For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide.
The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension.
Optional arguments:¶
iv_contenttype TYPE /AWS1/MDDCONTENTTYPE /AWS1/MDDCONTENTTYPE¶
The content type of the object.
iv_cachecontrol TYPE /AWS1/MDDSTRINGPRIMITIVE /AWS1/MDDSTRINGPRIMITIVE¶
An optional
CacheControlheader that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.Headers with a custom user-defined value are also accepted.
iv_storageclass TYPE /AWS1/MDDSTORAGECLASS /AWS1/MDDSTORAGECLASS¶
Indicates the storage class of a
Putrequest. Defaults to high-performance temporal storage class, and objects are persisted into durable storage shortly after being received.
iv_uploadavailability TYPE /AWS1/MDDUPLOADAVAILABILITY /AWS1/MDDUPLOADAVAILABILITY¶
Indicates the availability of an object while it is still uploading. If the value is set to
streaming, the object is available for downloading after some initial buffering but before the object is uploaded completely. If the value is set tostandard, the object is available for downloading only when it is uploaded completely. The default value for this header isstandard.To use this header, you must also set the HTTP
Transfer-Encodingheader tochunked.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_mddputobjectresponse /AWS1/CL_MDDPUTOBJECTRESPONSE¶
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->putobject(
iv_body = '5347567362473873563239796247513D'
iv_cachecontrol = |string|
iv_contenttype = |string|
iv_path = |string|
iv_storageclass = |string|
iv_uploadavailability = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_sha256hash = lo_result->get_contentsha256( ).
lv_etag = lo_result->get_etag( ).
lv_storageclass = lo_result->get_storageclass( ).
ENDIF.