last_modified und size für dateien in list objects hinzugefügt
This commit is contained in:
@@ -192,7 +192,8 @@ create or replace package body pck_net_storage as
|
||||
while not l_done
|
||||
loop
|
||||
l_url := f_build_url()
|
||||
|| '?limit=' || c_page_size
|
||||
|| '?limit=' || c_page_size
|
||||
|| '&fields=name,size,etag,timeModified'
|
||||
|| (case when l_parent_folder is not null then '&prefix=' || utl_url.escape(l_parent_folder, false) else '' end)
|
||||
|| (case when i_include_subfolders = 'N' then '&delimiter=/' else '' end);
|
||||
|
||||
@@ -221,11 +222,12 @@ create or replace package body pck_net_storage as
|
||||
l_result.extend;
|
||||
l_result(l_result.last) := t_net_storage_row(
|
||||
rec.object_name
|
||||
,rec.object_size
|
||||
,to_date(substr(rec.last_modified, 1, 19), 'YYYY-MM-DD"T"HH24:MI:SS')
|
||||
-- Explizit angelegte Ordner sind Zero-Byte-Objekte mit trailing /
|
||||
,(case when rec.object_name like '%/' then 'Y' else 'N' end)
|
||||
,rec.etag
|
||||
-- Explizit angelegte Ordner sind Zero-Byte-Objekte mit trailing /;
|
||||
-- size und last_modified sind für Ordner nicht relevant
|
||||
,(case when rec.object_name like '%/' then null else rec.object_size end)
|
||||
,(case when rec.object_name like '%/' then null else to_date(substr(rec.last_modified, 1, 19), 'YYYY-MM-DD"T"HH24:MI:SS') end)
|
||||
,(case when rec.object_name like '%/' then 'Y' else 'N' end)
|
||||
,(case when rec.object_name like '%/' then null else rec.etag end)
|
||||
);
|
||||
l_count := l_count + 1;
|
||||
|
||||
|
||||
28
database/tests/obj_store_list_objects.sql
Normal file
28
database/tests/obj_store_list_objects.sql
Normal file
@@ -0,0 +1,28 @@
|
||||
declare
|
||||
l_file_text clob;
|
||||
l_file blob;
|
||||
begin
|
||||
-- l_file :=
|
||||
l_file_text :=apex_web_service.make_rest_request (
|
||||
p_url => 'https://frhqaxi5sgcg.objectstorage.eu-frankfurt-1.oci.customer-oci.com/n/frhqaxi5sgcg/b/INKA_NET_STORAGE/o/'
|
||||
,p_http_method => 'GET'
|
||||
,p_credential_static_id => 'OCI_INKA_NET_STORE'
|
||||
,p_wallet_path => 'file:/u01/app/oracle/product/19.0.0.0/dbhome_1/wallets/digicert-global-root-g2-wallet'
|
||||
);
|
||||
|
||||
--dbms_output.put_line('File size: ' || dbms_lob.getlength(l_file) );
|
||||
dbms_output.put_line('Response: ' || l_file_text);
|
||||
end;
|
||||
/
|
||||
|
||||
|
||||
declare
|
||||
begin
|
||||
for rec in (select object_name, object_size, last_modified, is_folder
|
||||
from pck_net_storage.f_list_objects (i_parent_folder => 'testmandant-42/BA/Eingang/Verarbeitet 2026/', i_include_subfolders => 'N')) --i_parent_folder => 'testmandant-42/BA/Eingang/Verarbeitet 2026/'
|
||||
loop
|
||||
--dbms_output.put_line('Obj: ' || rec.object_name || ', object_size: ' || rec.object_size || ', last_modified: ' || rec.last_modified|| ', is_folder: ' || rec.is_folder);
|
||||
dbms_output.put_line('is_folder: ' || rec.is_folder || ', name: ' || rec.object_name || ', object_size: ' || rec.object_size || ', last_modified: ' || to_char(rec.last_modified, 'DD.MM.YYYY HH24:MI:SS'));
|
||||
end loop;
|
||||
end;
|
||||
/
|
||||
Reference in New Issue
Block a user