Službu Oracle Analytics môžete integrovať s funkciami Oracle Cloud Infrastructure (OCI), aby ste ich mohli používať v dátových tokoch na transformáciu dát.
Pomocou funkcií vytvorených v OCI môžete transformovať dáta v službe Oracle Analytics. Môžete napríklad použiť funkciu konverzie jazyka a text v angličtine previesť do španielčiny alebo nemčiny.
Najprv zaregistrujte funkcie OCI v službe Oracle Analytics, aby ich mohol v dátových tokoch používať ľubovoľný používateľ služby Oracle Analytics s privilégiami administrátora služby BI alebo autora obsahu DV.
Vytvárajte funkcie v konzole OCI, aby ste ich mohli používať na transformáciu dát v dátových tokoch služby Oracle Analytics.
Registrácia funkcií OCI v službe Oracle Analytics
Keď zaregistrujete funkciu OCI v službe Oracle Analytics a v dialógovom okne Vybrať funkciu nie je aktívna, skontrolujte, či je nakonfigurovaná so značkou oac-compatible
a či je vyvolaná so správnou hodnotou funcMode
.
.png
Konfigurovanie funkcií OCI na použitie v službe Oracle Analytics
Funkcie OCI, ktoré chcete používať v službe Oracle Analytics, musia mať značku oac-compatible
a kód funkcie musí obsahovať premennú funcMode
. Tieto nastavenia nakonfigurujete v konzole OCI:
oac-compatible
a jej hodnotu nastavte na true
.funcMode
. Oracle Analytics
odošle požiadavku na registráciu funkcie OCI pomocou funcMode=describeFunction
a požiadavku na vyvolanie funkcie OCI pomocou funcMode=executeFunction
. Funkcia obslužného programu vo func.py by mala pracovať v režime describeFunction alebo v režime executeFunction. To možno vykonať na základe hodnoty vstupnej premennej funcMode
z požiadavky, ako je znázornené nižšie.
Toto je formát požiadavky a odozvy funkcií OCI pre príklad počtu slov v jazyku python.
funcMode = describeFunction
{ "funcMode": "describeFunction"}
Ak premenná funcMode v požiadavke je 'describeFunction', funkcia by mala vrátiť definíciu funkcie so stavom (returnCode a errorMessage), výstupy (názov, dátový typ výstupného stĺpca), parametre (názov, popis, typ a pod. vstupného parametra), bucketName atď. ako objekt JSON v nasledujúcom formáte (príklad s počtom slov):
funcDefinition = { "status": { "returnCode": 0, "errorMessage": "" }, "funcDescription": { "outputs": [ {"name": "word_count", "dataType": "integer"} ], "parameters": [ {"name": "textColumn", "displayName": "Text Column", "description": "Choose column to count words", "required": True, "value": {"type": "column"}} ], "bucketName": "bucket-OCI-FAAS", "isOutputJoinableWithInput": True } }
Pridajte nasledujúci kód vo func.py na vrátenie funcDefinition, keď premenná funcMode v požiadavke je 'describeFunction'.
def handler(ctx, data: io.BytesIO = None): response_data = "" try: body = json.loads(data.getvalue()) funcMode = body.get("funcMode") if funcMode == 'describeFunction': response_data = json.dumps(funcDefinition) except (Exception, ValueError) as ex: response_data = json.dumps( {"error": "{0}".format(str(ex))}) return response.Response( ctx, response_data, headers={"Content-Type": "application/json"} )
funcMode = executeFunction - keď premenná funcMode je 'executeFunction', mala by sa spustiť aktuálna logika funkcie a odozva by mala byť odoslaná späť do služby Oracle Analytics s výstupom. Keď je registrovaná funkcia vyvolaná z dátového toku v službe Oracle Analytics, objekt požiadavky bude v nasledujúcom formáte s názvom stĺpca v argumentoch, vstupom (bucketName, fileName, fileExtension, fileName, method a rowID) a výstupom (bucketName, fileName a fileExtension).
{ "args": { "textColumn": "REVIEW" }, "funcMode": "executeFunction", "input": { "bucketName": "bucket-OCI-FAAS", "fileExtension": ".csv", "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-input", "method": "csv", "rowID": "row_id" }, "output": { "bucketName": "bucket-OCI-FAAS", "fileExtension": ".csv", "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-output" } }
Vytváranie funkcií v OCI
Funkcie môžete vytvárať pomocou konzoly OCI, príkazového riadka (Fn Project CLI) alebo rozhrania API. Napríklad v konzole OCI kliknite na Služby pre vývojárov, potom kliknite na položku Funkcie a podľa pokynov na obrazovke vytvorte aplikácie a jednu alebo viacero funkcií. Podrobné informácie nájdete na stránke Vytvorenie funkcií v dokumentácii OCI. Ak vytvárate funkcie prvý raz, postupujte podľa krokov na konci v príklade na stránke Vytvorenie, nasadenie a vyvolanie a funkcie Helloworld. Každá funkcia, ktorú chcete používať v službe Oracle Analytics, musí obsahovať značku vo voľnom formáte oac-compatible=true
(vyššie si pozrite časť Konfigurovanie funkcií OCI na použitie v službe Oracle Analytics).
Tipy na vytváranie funkcií v konzole OCI
A chcete službu Oracle Analytics integrovať so službou OCI Functions, potrebujete požadované stratégie zabezpečenia.
Používateľ služby OCI, ktorého zadáte v pripojení medzi službou Oracle Analytics Cloud a prenájmom OCI, musí mať povolenia na čítanie, zápis a odstránenie pre kompartment obsahujúci prostriedky OCI, ktoré chcete používať. Uistite sa, že používateľ služby OCI patrí do skupiny používateľov s nasledujúcimi minimálnymi stratégiami zabezpečenia služby OCI. Keď sa pripojíte k prenájmu OCI zo služby Oracle Analytics, môžete použiť buď kľúč OCI API, alebo principál prostriedku.
Poznámka:
Ak sa používa principál prostriedku a chcete zahrnúť všetky inštancie služby Analytics do kompartmentu, zadajte{request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'}
namiesto {request.principal.id='<analytics_instance_ocid>'}
.Stratégie kľúča API | Stratégie principálu prostriedku |
---|---|
Allow group <group_name> to use functions-family in compartment <compartment_name> |
Allow any-user to use functions-family in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>'} |
Allow group <group_name> to read buckets in compartment <compartment_name> |
Allow any-user to read buckets in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>'} |
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name='<staging_bucket_name>' |
Allow any-user to manage objects in compartment <compartment_name> where all {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'} |
Allow group <group_name> to read objectstorage-namespaces in tenancy |
Allow any-user to read objectstorage-namespaces in tenancy where all {request.principal.id='<analytics_instance_ocid>'} |
Stratégia dynamickej skupiny | Popis |
---|---|
Allow dynamic-group <dynamic_group> to manage objects in compartment <compartment_name> where target.bucket.name='<staging_bucket_name>' |
Poskytuje prístup do sektora v prípravnej tabuľke pre dynamickú skupinu. |
Príklad zhodného pravidla: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}
, kde <compartment_ocid>
je ID kompartmentu v službe Oracle Cloud, ktorý obsahuje funkcie.
Pri transformácii dát v službe Oracle Analytics pomocou funkcií OCI postupujte podľa týchto úloh vyššej úrovne v uvedenom poradí.
Úloha | Popis | Ďalšie informácie |
---|---|---|
Vytvorenie funkcií v OCI (vyžaduje privilégiá vývojára funkcií) |
V prenájme OCI vytvorte funkcie a zaistite, aby boli v súlade s predpokladmi, ktoré boli zadané na použitie v službe Oracle Analytics. |
Konfigurovanie funkcií OCI na používanie v službe Oracle Analytics |
Priradenie stratégií OCI | Potrebujete požadované stratégie OCI na pripojenie pomocou kľúča API alebo principála prostriedku. | Stratégie potrebné na integráciu služieb OCI Functions a Oracle Analytics |
Pripojenie služby Oracle Analytics k prenájmu OCI (vyžaduje privilégiá administrátora alebo autora DV) | V službe Oracle Analytics vytvorte pripojenie k prenájmu OCI. |
Vytvorenie pripojenia k prenájmu Oracle Cloud Infrastructure |
Registrácia funkcií OCI v službe Oracle Analytics (vyžaduje privilégiá administrátora alebo autora DV) | V službe Oracle Analytics zaregistrujte funkcie OCI, aby ste ich mohli vyvolávať z dátových tokov. | |
Transformácia dát pomocou funkcií OCI (vyžaduje privilégiá administrátora alebo autora DV) | Vytvorte dátový tok a použite krok Použiť vlastný skript na vyvolanie funkcie OCI. |
Zaregistrujte funkcie OCI v službe Oracle Analytics, aby ste ich mohli používať v dátových tokoch na transformáciu dát. Môžete napríklad zaregistrovať funkciu konverzie jazyka, ktorá dátovým analytikom umožní previesť text v angličtine do španielčiny alebo nemčiny.