declare C_AWS_ID constant varchar2(40) := 'アクセスキー'; C_AWS_KEY constant varchar2(40) := 'シークレットアクセスキー'; C_AGENT_ID constant varchar2(10) := 'Agent ID'; /* Agentへの問い合わせ */ l_session_id varchar2(32); l_request_json json_object_t; l_request clob; l_url varchar2(4000); l_response clob; e_api_call_failed exception; begin l_session_id := lower(sys_guid()); l_request_json := json_object_t(); l_request_json.put('inputText', 'こんにちは!'); l_request_json.put('endSession', false); l_request_json.put('enableTrace', false); l_request := l_request_json.to_clob(); dbms_output.put_line(l_request); /* set request header to call bedrock agent */ apex_web_service.clear_request_headers; apex_web_service.set_request_headers('Content-Type', 'application/json', p_reset => false); l_url := aws4_rest_pkg.set_authorization_headers( p_endpoint => 'bedrock-agent-runtime' ,p_http_method => 'POST' ,p_uri => '/agents/' || C_AGENT_ID || '/agentAliases/TSTALIASID/sessions/' || l_session_id || '/text' ,p_body => l_request ,p_aws_id => C_AWS_ID ,p_aws_key => C_AWS_KEY ); -- dbms_output.put_line(l_url); l_response := apex_web_service.make_rest_request( p_url => l_url ,p_http_method => 'POST' ,p_body => l_request ); if apex_web_service.g_status_code <> 200 then raise e_api_call_failed; end if; dbms_output.put_line(substr(l_response,1,4000)); end;