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.