58 lines
1.6 KiB
MySQL
58 lines
1.6 KiB
MySQL
set serveroutput on
|
|
-- list markdown files in object storage
|
|
SELECT object_name, bytes, checksum, created, last_modified
|
|
FROM DBMS_CLOUD.LIST_OBJECTS(
|
|
credential_name => 'OCI$RESOURCE_PRINCIPAL',
|
|
location_uri => 'https://objectstorage.us-chicago-1.oraclecloud.com/n/idi1o0a010nx/b/md-processed/o/'
|
|
);
|
|
|
|
|
|
-- create table and load markdown content into the database
|
|
DROP TABLE IF EXISTS markdown_files;
|
|
|
|
CREATE TABLE IF NOT EXISTS markdown_files (
|
|
id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
source_uri VARCHAR2(1000) NOT NULL,
|
|
filename VARCHAR2(500) NOT NULL,
|
|
file_hash VARCHAR2(128),
|
|
file_size NUMBER,
|
|
md_clob CLOB,
|
|
status VARCHAR2(30) DEFAULT 'PENDING',
|
|
ingested_at TIMESTAMP DEFAULT SYSTIMESTAMP,
|
|
error_message VARCHAR2(4000)
|
|
);
|
|
|
|
--
|
|
DECLARE
|
|
l_clob CLOB;
|
|
l_blob BLOB;
|
|
l_uri VARCHAR2(1000) := 'https://objectstorage.us-chicago-1.oraclecloud.com/n/idi1o0a010nx/b/md-processed/o/';
|
|
l_filename VARCHAR2(500) := 'Banco Atlas - Beneficios Estaciones de Servicio.md';
|
|
BEGIN
|
|
l_clob := blob_to_clob(DBMS_CLOUD.GET_OBJECT(credential_name => 'OCI$RESOURCE_PRINCIPAL', object_uri => l_uri || l_filename));
|
|
|
|
INSERT INTO markdown_files (source_uri, filename, file_size, md_clob, file_hash, status)
|
|
VALUES (l_uri || l_filename,
|
|
l_filename,
|
|
DBMS_LOB.GETLENGTH(l_clob),
|
|
l_clob,
|
|
DBMS_CRYPTO.HASH(l_clob, DBMS_CRYPTO.HASH_SH256),
|
|
'INGESTED'
|
|
);
|
|
|
|
COMMIT;
|
|
DBMS_OUTPUT.PUT_LINE('Markdown file loaded. Size: ' || DBMS_LOB.GETLENGTH(l_clob) || ' bytes');
|
|
END;
|
|
/
|
|
|
|
-- test
|
|
SELECT * FROM markdown_files;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|