Integrácia služby Oracle Analytics so službou Oracle Cloud Infrastructure Functions

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.

Používanie funkcií OCI v službe Oracle Analytics

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.

Konfigurovanie funkcií OCI na používanie v službe Oracle Analytics

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.
Popis GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png je uvedený nižšie
.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 - do funkcie pridajte značku vo voľnom formáte s názvom oac-compatible a jej hodnotu nastavte na true.Popis GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png je uvedený nižšie
    .png
  • funcMode - do kódu funkcie pridajte premennú 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.

    Popis GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png je uvedený nižšie
    .png

    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

  • Aktivujte protokoly - predvolene sú protokoly pre funkcie deaktivované. Ak chcete aktivovať protokoly pre funkcie, na stránke Aplikácie kliknite na položku Protokoly a aktivujte protokol zadaný v poli Názov protokolu. V sekcii Prostriedky teraz môžete vybrať položku Preskúmať protokol a prejsť na detaily položiek protokolu, aby ste mohli ladiť a diagnostikovať problémy funkcie.
  • Pridajte závislosti - do súboru requirements.txt pre funkciu pridajte závislé balíky.
  • Postupujte podľa pravidiel odsadenia - počas kódovania funkcií Python postupujte podľa pravidiel odsadenia jazyka Python.
  • Používajte chyby odozvy funkcie - používajte detaily chýb uvedené na stránke dátového toku na diagnostiku problémov.
  • Najprv otestujte funkcie lokálne - pred vytvorením funkcie v OCI otestujte funkciu lokálne vo vývojovom prostredí, aby ste zaistili, že funkcia bude syntakticky a logicky správna.
  • Otestujte funkcie v OCI - pred integrovaním funkcií v službe Oracle Analytics sa uistite, že ich môžete úspešne nasadiť a vyvolať ako samostatné funkcie v OCI.
  • Predĺžte časový limit - predvolene majú funkcie časový limit 30 sekúnd. V prípade potreby zvýšte nastavenie časového limitu (napríklad ho zmeňte na 300 sekúnd) na stránke Upraviť funkciu v konzole OCI.
  • Rozšírte pamäť - predvolene je pre funkcie nastavený limit pamäte 1 024 MB. V prípade potreby zvýšte limit pamäte na stránke Upraviť funkciu v konzole OCI.
  • Optimalizujte priestor - odstraňujte nepoužívané súbory okamžite po ich použití.
  • Dávajte si pozor na latenciu siete - nezabúdajte, že latencia siete môže spôsobovať mierne oneskorenie v celkovom spracovaní.

Stratégie potrebné na integráciu služieb OCI Functions a Oracle Analytics

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.

Typický tok činností na transformáciu dát pomocou funkcií OCI

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.

Registrácia funkcií OCI v službe Oracle Analytics

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.

Transformácia dát pomocou funkcií OCI

Registrácia funkcií OCI v službe Oracle Analytics

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.

  1. Na domovskej stránke v službe Oracle Analytics kliknite na položku Ponuka stránky, potom kliknite na položku Registrovať model/funkciu a nakoniec kliknite na položku Funkcie OCI.
  2. V dialógovom okne Registrovať vlastnú funkciu vyberte pripojenie k prenájmu OCI, v ktorom sú umiestnené funkcie.
  3. V dialógovom okne Vybrať aplikáciu vyberte aplikáciu, ktorá obsahuje funkcie OCI.
    Ak to neviete, opýtajte sa osoby, ktorá vytvorila funkcie v OCI.
  4. V dialógovom okne Vybrať funkciu vyberte funkciu a kliknite na položku Zaregistrovať.
    Ak funkciu, ktorú chcete použiť, nie je možné vybrať, požiadajte administrátora, aby skontroloval, či je nakonfigurovaná pre službu Oracle Analytics. Pozrite si časť Konfigurovanie funkcií OCI na používanie v službe Oracle Analytics.
Registrované funkcie OCI môžete používať v dátových tokoch na transformáciu dát. Ak si chcete overiť, ktoré funkcie sú registrované, pozrite si registrované funkcie na karte Skripty na stránke Strojové učenie (na domovskej stránke kliknite na položku Navigátor Ikona navigátora, ktorá sa používa na zobrazenie panela Navigátor, potom kliknite na položku Strojové učenie a nakoniec na položku Skripty).