Skip to content

/AWS1/CL_IOA=>CREATEDATASTORE()

About CreateDatastore

Creates a data store, which is a repository for messages.

Method Signature

IMPORTING

Required arguments:

iv_datastorename TYPE /AWS1/IOADATASTORENAME /AWS1/IOADATASTORENAME

The name of the data store.

Optional arguments:

io_datastorestorage TYPE REF TO /AWS1/CL_IOADATASTORESTORAGE /AWS1/CL_IOADATASTORESTORAGE

Where data in a data store is stored.. You can choose serviceManagedS3 storage, customerManagedS3 storage, or iotSiteWiseMultiLayerStorage storage. The default is serviceManagedS3. You can't change the choice of Amazon S3 storage after your data store is created.

io_retentionperiod TYPE REF TO /AWS1/CL_IOARETENTIONPERIOD /AWS1/CL_IOARETENTIONPERIOD

How long, in days, message data is kept for the data store. When customerManagedS3 storage is selected, this parameter is ignored.

it_tags TYPE /AWS1/CL_IOATAG=>TT_TAGLIST TT_TAGLIST

Metadata which can be used to manage the data store.

io_fileformatconfiguration TYPE REF TO /AWS1/CL_IOAFILEFORMATCONF /AWS1/CL_IOAFILEFORMATCONF

Contains the configuration information of file formats. IoT Analytics data stores support JSON and Parquet.

The default file format is JSON. You can specify only one format.

You can't change the file format after you create the data store.

io_datastorepartitions TYPE REF TO /AWS1/CL_IOADATASTOREPARTITI00 /AWS1/CL_IOADATASTOREPARTITI00

Contains information about the partition dimensions in a data store.

RETURNING

oo_output TYPE REF TO /aws1/cl_ioacreatedatastorersp /AWS1/CL_IOACREATEDATASTORERSP

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_ioa~createdatastore(
  io_datastorepartitions = new /aws1/cl_ioadatastorepartiti00(
    it_partitions = VALUE /aws1/cl_ioadatastorepartition=>tt_partitions(
      (
        new /aws1/cl_ioadatastorepartition(
          io_attributepartition = new /aws1/cl_ioapartition( |string| )
          io_timestamppartition = new /aws1/cl_ioatimestamppartition(
            iv_attributename = |string|
            iv_timestampformat = |string|
          )
        )
      )
    )
  )
  io_datastorestorage = new /aws1/cl_ioadatastorestorage(
    io_customermanageds3 = new /aws1/cl_ioacusmanageddatast00(
      iv_bucket = |string|
      iv_keyprefix = |string|
      iv_rolearn = |string|
    )
    io_iotsitewisemultilayerstrg = new /aws1/cl_ioadatastoreiotsite00(
      io_customermanageds3storage = new /aws1/cl_ioaiotsitewisecusma00(
        iv_bucket = |string|
        iv_keyprefix = |string|
      )
    )
    io_servicemanageds3 = new /aws1/cl_ioasvcmanageddatast00( )
  )
  io_fileformatconfiguration = new /aws1/cl_ioafileformatconf(
    io_jsonconfiguration = new /aws1/cl_ioajsonconfiguration( )
    io_parquetconfiguration = new /aws1/cl_ioaparquetconf(
      io_schemadefinition = new /aws1/cl_ioaschemadefinition(
        it_columns = VALUE /aws1/cl_ioacolumn=>tt_columns(
          (
            new /aws1/cl_ioacolumn(
              iv_name = |string|
              iv_type = |string|
            )
          )
        )
      )
    )
  )
  io_retentionperiod = new /aws1/cl_ioaretentionperiod(
    iv_numberofdays = 123
    iv_unlimited = ABAP_TRUE
  )
  it_tags = VALUE /aws1/cl_ioatag=>tt_taglist(
    (
      new /aws1/cl_ioatag(
        iv_key = |string|
        iv_value = |string|
      )
    )
  )
  iv_datastorename = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_datastorename = lo_result->get_datastorename( ).
  lv_datastorearn = lo_result->get_datastorearn( ).
  lo_retentionperiod = lo_result->get_retentionperiod( ).
  IF lo_retentionperiod IS NOT INITIAL.
    lv_unlimitedretentionperio = lo_retentionperiod->get_unlimited( ).
    lv_retentionperiodindays = lo_retentionperiod->get_numberofdays( ).
  ENDIF.
ENDIF.