/AWS1/IF_BDO=>CREATEMEMORY()
¶
About CreateMemory¶
Creates a new Amazon Bedrock AgentCore Memory resource.
Method Signature¶
METHODS /AWS1/IF_BDO~CREATEMEMORY
IMPORTING
!IV_CLIENTTOKEN TYPE /AWS1/BDONONEMPTYSTRING OPTIONAL
!IV_NAME TYPE /AWS1/BDONAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/BDODESCRIPTION OPTIONAL
!IV_ENCRYPTIONKEYARN TYPE /AWS1/BDOARN OPTIONAL
!IV_MEMORYEXECUTIONROLEARN TYPE /AWS1/BDOARN OPTIONAL
!IV_EVENTEXPIRYDURATION TYPE /AWS1/BDOINTEGER OPTIONAL
!IT_MEMORYSTRATEGIES TYPE /AWS1/CL_BDOMEMORYSTRAGINPUT=>TT_MEMORYSTRATEGYINPUTLIST OPTIONAL
!IT_TAGS TYPE /AWS1/CL_BDOTAGSMAP_W=>TT_TAGSMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdocreatememoryoutput
RAISING
/AWS1/CX_BDOACCESSDENIEDEX
/AWS1/CX_BDOCONFLICTEXCEPTION
/AWS1/CX_BDORESOURCENOTFOUNDEX
/AWS1/CX_BDOSERVICEEXCEPTION
/AWS1/CX_BDOSERVICEQUOTAEXCDEX
/AWS1/CX_BDOTHROTTLEDEXCEPTION
/AWS1/CX_BDOVALIDATIONEX
/AWS1/CX_BDOCLIENTEXC
/AWS1/CX_BDOSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name
TYPE /AWS1/BDONAME
/AWS1/BDONAME
¶
The name of the memory. The name must be unique within your account.
iv_eventexpiryduration
TYPE /AWS1/BDOINTEGER
/AWS1/BDOINTEGER
¶
The duration after which memory events expire. Specified as an ISO 8601 duration.
Optional arguments:¶
iv_clienttoken
TYPE /AWS1/BDONONEMPTYSTRING
/AWS1/BDONONEMPTYSTRING
¶
A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.
iv_description
TYPE /AWS1/BDODESCRIPTION
/AWS1/BDODESCRIPTION
¶
The description of the memory.
iv_encryptionkeyarn
TYPE /AWS1/BDOARN
/AWS1/BDOARN
¶
The Amazon Resource Name (ARN) of the KMS key used to encrypt the memory data.
iv_memoryexecutionrolearn
TYPE /AWS1/BDOARN
/AWS1/BDOARN
¶
The Amazon Resource Name (ARN) of the IAM role that provides permissions for the memory to access Amazon Web Services services.
it_memorystrategies
TYPE /AWS1/CL_BDOMEMORYSTRAGINPUT=>TT_MEMORYSTRATEGYINPUTLIST
TT_MEMORYSTRATEGYINPUTLIST
¶
The memory strategies to use for this memory. Strategies define how information is extracted, processed, and consolidated.
it_tags
TYPE /AWS1/CL_BDOTAGSMAP_W=>TT_TAGSMAP
TT_TAGSMAP
¶
A map of tag keys and values to assign to an AgentCore Memory. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_bdocreatememoryoutput
/AWS1/CL_BDOCREATEMEMORYOUTPUT
¶
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->creatememory(
it_memorystrategies = VALUE /aws1/cl_bdomemorystraginput=>tt_memorystrategyinputlist(
(
new /aws1/cl_bdomemorystraginput(
io_custommemorystrategy = new /aws1/cl_bdocustmemstraginput(
io_configuration = new /aws1/cl_bdocustomconfinput(
io_selfmanagedconfiguration = new /aws1/cl_bdoselfmanagedconfinp(
io_invocationconfiguration = new /aws1/cl_bdoinvcconfinput(
iv_payloaddeliverybucketname = |string|
iv_topicarn = |string|
)
it_triggerconditions = VALUE /aws1/cl_bdotriggercondinput=>tt_triggerconditioninputlist(
(
new /aws1/cl_bdotriggercondinput(
io_messagebasedtrigger = new /aws1/cl_bdomsgbasedtriggerinp( 123 )
io_timebasedtrigger = new /aws1/cl_bdotimebasedtrigger00( 123 )
io_tokenbasedtrigger = new /aws1/cl_bdotokbasedtriggerinp( 123 )
)
)
)
iv_historicalctxwindowsize = 123
)
io_semanticoverride = new /aws1/cl_bdosemanovrdconfinput(
io_consolidation = new /aws1/cl_bdosemovrconsconfinp(
iv_appendtoprompt = |string|
iv_modelid = |string|
)
io_extraction = new /aws1/cl_bdosemovrextconfinput(
iv_appendtoprompt = |string|
iv_modelid = |string|
)
)
io_summaryoverride = new /aws1/cl_bdosummovrdconfinput(
io_consolidation = new /aws1/cl_bdosummovrconsconfinp(
iv_appendtoprompt = |string|
iv_modelid = |string|
)
)
io_userpreferenceoverride = new /aws1/cl_bdouserprefovrconfinp(
io_consolidation = new /aws1/cl_bdouserprefovrconsc00(
iv_appendtoprompt = |string|
iv_modelid = |string|
)
io_extraction = new /aws1/cl_bdouserprefovrextco00(
iv_appendtoprompt = |string|
iv_modelid = |string|
)
)
)
it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
( new /aws1/cl_bdonamespaceslist_w( |string| ) )
)
iv_description = |string|
iv_name = |string|
)
io_semanticmemorystrategy = new /aws1/cl_bdosemanmemstraginput(
it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
( new /aws1/cl_bdonamespaceslist_w( |string| ) )
)
iv_description = |string|
iv_name = |string|
)
io_summarymemorystrategy = new /aws1/cl_bdosummmemstraginput(
it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
( new /aws1/cl_bdonamespaceslist_w( |string| ) )
)
iv_description = |string|
iv_name = |string|
)
io_userprefmemorystrategy = new /aws1/cl_bdouserprefmemstgyinp(
it_namespaces = VALUE /aws1/cl_bdonamespaceslist_w=>tt_namespaceslist(
( new /aws1/cl_bdonamespaceslist_w( |string| ) )
)
iv_description = |string|
iv_name = |string|
)
)
)
)
it_tags = VALUE /aws1/cl_bdotagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_bdotagsmap_w=>ts_tagsmap_maprow(
key = |string|
value = new /aws1/cl_bdotagsmap_w( |string| )
)
)
)
iv_clienttoken = |string|
iv_description = |string|
iv_encryptionkeyarn = |string|
iv_eventexpiryduration = 123
iv_memoryexecutionrolearn = |string|
iv_name = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_memory = lo_result->get_memory( ).
IF lo_memory IS NOT INITIAL.
lv_memoryarn = lo_memory->get_arn( ).
lv_memoryid = lo_memory->get_id( ).
lv_name = lo_memory->get_name( ).
lv_description = lo_memory->get_description( ).
lv_arn = lo_memory->get_encryptionkeyarn( ).
lv_arn = lo_memory->get_memoryexecutionrolearn( ).
lv_integer = lo_memory->get_eventexpiryduration( ).
lv_memorystatus = lo_memory->get_status( ).
lv_string = lo_memory->get_failurereason( ).
lv_timestamp = lo_memory->get_createdat( ).
lv_timestamp = lo_memory->get_updatedat( ).
LOOP AT lo_memory->get_strategies( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_memorystrategyid = lo_row_1->get_strategyid( ).
lv_name = lo_row_1->get_name( ).
lv_description = lo_row_1->get_description( ).
lo_strategyconfiguration = lo_row_1->get_configuration( ).
IF lo_strategyconfiguration IS NOT INITIAL.
lv_overridetype = lo_strategyconfiguration->get_type( ).
lo_extractionconfiguration = lo_strategyconfiguration->get_extraction( ).
IF lo_extractionconfiguration IS NOT INITIAL.
lo_customextractionconfigu = lo_extractionconfiguration->get_customextractionconf( ).
IF lo_customextractionconfigu IS NOT INITIAL.
lo_semanticextractionoverr = lo_customextractionconfigu->get_semanticextoverride( ).
IF lo_semanticextractionoverr IS NOT INITIAL.
lv_prompt = lo_semanticextractionoverr->get_appendtoprompt( ).
lv_string = lo_semanticextractionoverr->get_modelid( ).
ENDIF.
lo_userpreferenceextractio = lo_customextractionconfigu->get_userprefextoverride( ).
IF lo_userpreferenceextractio IS NOT INITIAL.
lv_prompt = lo_userpreferenceextractio->get_appendtoprompt( ).
lv_string = lo_userpreferenceextractio->get_modelid( ).
ENDIF.
ENDIF.
ENDIF.
lo_consolidationconfigurat = lo_strategyconfiguration->get_consolidation( ).
IF lo_consolidationconfigurat IS NOT INITIAL.
lo_customconsolidationconf = lo_consolidationconfigurat->get_customconsolconf( ).
IF lo_customconsolidationconf IS NOT INITIAL.
lo_semanticconsolidationov = lo_customconsolidationconf->get_semanticconsoloverride( ).
IF lo_semanticconsolidationov IS NOT INITIAL.
lv_prompt = lo_semanticconsolidationov->get_appendtoprompt( ).
lv_string = lo_semanticconsolidationov->get_modelid( ).
ENDIF.
lo_summaryconsolidationove = lo_customconsolidationconf->get_summaryconsoloverride( ).
IF lo_summaryconsolidationove IS NOT INITIAL.
lv_prompt = lo_summaryconsolidationove->get_appendtoprompt( ).
lv_string = lo_summaryconsolidationove->get_modelid( ).
ENDIF.
lo_userpreferenceconsolida = lo_customconsolidationconf->get_userprefconsoloverride( ).
IF lo_userpreferenceconsolida IS NOT INITIAL.
lv_prompt = lo_userpreferenceconsolida->get_appendtoprompt( ).
lv_string = lo_userpreferenceconsolida->get_modelid( ).
ENDIF.
ENDIF.
ENDIF.
lo_selfmanagedconfiguratio = lo_strategyconfiguration->get_selfmanagedconfiguration( ).
IF lo_selfmanagedconfiguratio IS NOT INITIAL.
LOOP AT lo_selfmanagedconfiguratio->get_triggerconditions( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lo_messagebasedtrigger = lo_row_3->get_messagebasedtrigger( ).
IF lo_messagebasedtrigger IS NOT INITIAL.
lv_integer = lo_messagebasedtrigger->get_messagecount( ).
ENDIF.
lo_tokenbasedtrigger = lo_row_3->get_tokenbasedtrigger( ).
IF lo_tokenbasedtrigger IS NOT INITIAL.
lv_integer = lo_tokenbasedtrigger->get_tokencount( ).
ENDIF.
lo_timebasedtrigger = lo_row_3->get_timebasedtrigger( ).
IF lo_timebasedtrigger IS NOT INITIAL.
lv_integer = lo_timebasedtrigger->get_idlesessiontimeout( ).
ENDIF.
ENDIF.
ENDLOOP.
lo_invocationconfiguration = lo_selfmanagedconfiguratio->get_invocationconfiguration( ).
IF lo_invocationconfiguration IS NOT INITIAL.
lv_arn = lo_invocationconfiguration->get_topicarn( ).
lv_string = lo_invocationconfiguration->get_payloaddlvrybucketname( ).
ENDIF.
lv_integer = lo_selfmanagedconfiguratio->get_historicalctxwindowsize( ).
ENDIF.
ENDIF.
lv_memorystrategytype = lo_row_1->get_type( ).
LOOP AT lo_row_1->get_namespaces( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_namespace = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
lv_timestamp = lo_row_1->get_createdat( ).
lv_timestamp = lo_row_1->get_updatedat( ).
lv_memorystrategystatus = lo_row_1->get_status( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.