CREATE TABLE EMPLOYEE
(name VARCHAR2(128),
age NUMBER,
salary NUMBER);
パイプラインを作成して、オブジェクト・ストアからデータをロードします。
BEGIN
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name => 'MY_PIPE1',
pipeline_type => 'LOAD',
description => 'Load metrics from object store into a table'
);
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'MY_PIPE1',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'table_name' VALUE 'employee',
'format' VALUE '{"type":"json", "columnpath":["$.NAME", "$.AGE", "$.SALARY"]}',
'priority' VALUE 'HIGH',
'interval' VALUE '20')
);
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
pipeline_name=>'EXP_PIPE1',
pipeline_type=>'EXPORT',
description=>'Export time series metrics to object store');
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE1',
attributes => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'table_name' VALUE 'metric_table',
'key_column' VALUE 'metric_time',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/
queryパラメータの使用:
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE1',
attributes => JSON_OBJECT('credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'query' VALUE 'SELECT * from metrics_table',
'key_column' VALUE 'metric_time',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/
BEGIN
DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
pipeline_name => 'EXP_PIPE2',
attributes => JSON_OBJECT(
'credential_name' VALUE 'OBJECT_STORE_CRED',
'location' VALUE 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
'query' VALUE 'SELECT * FROM table_name',
'format' VALUE '{"type": "json"}',
'priority' VALUE 'MEDIUM',
'interval' VALUE '20')
);
END;
/