Integracija servisa Oracle Analytics i funkcija Oracle Cloud Infrastructure

Integrirajte funkcije servisa Oracle Analytics i Oracle Cloud Infrastructure (OCI) kako biste ih mogli upotrebljavati u tijekovima podataka za transformaciju podataka.

Više o upotrebi OCI funkcija u servisu Oracle Analytics

Pomoću funkcija stvorenih u okruženju OCI možete transformirati podatke u servisu Oracle Analytics. Npr., možete upotrijebiti funkciju za konverziju jezika teksta na engleskom u tekst na španjolskom ili njemačkom.

Prvo registrirajte OCI funkcije u servisu Oracle Analytics, nakon čega će ih bilo koji korisnik servisa Oracle Analytics s ovlaštenjima administratora BI servisa ili autora DV sadržaja moći upotrebljavati u tijekovima podataka.

Više o konfiguriranju OCI funkcija za upotrebu u servisu Oracle Analytics

Stvorite funkcije u OCI konzoli pomoću koji ćete moći transformirati podatke u tijekovima podataka servisa Oracle Analytics.

Više o registriranju OCI funkcija u servisu Oracle Analytics

Nakon što registrirate OCI funkciju u servisu Oracle Analytics, ako je zasivljena u dijaloškom okviru Odabir funkcije, provjerite je li konfigurirana s oznakom oac-compatible i pozvana odgovarajućom funcMode vrijednošću.
Slijedi opis za GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png
.png

Više o konfiguriranju OCI funkcija za upotrebu u servisu Oracle Analytics

OCI funkcije koje želite upotrebljavati u servisu Oracle Analytics moraju imati oznaku oac-compatible, a kod funkcije mora uključivati varijablu funcMode. Konfigurirajte sljedeće postavke u OCI konzoli:

  • oac-compatible - Dodajte oznaku slobodnog formata funkciji pod nazivom oac-compatible i postavite vrijednost na true.Slijedi opis za GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png
    .png
  • funcMode - Uključite varijablu funcMode u kod funkcije. Oracle Analytics poslat će zahtjev za registraciju OCI funkcije uz funcMode=describeFunction i zahtjev za pozivanje OCI funkcije uz funcMode=executeFunction. Funkcija obrađivača za func.py treba raditi u načinu rada describeFunction ili executeFunction. To možete učiniti temeljem vrijednosti u ulaznoj varijabli funcMode iz zahtjeva koji je prikazan u nastavku.

    Slijedi opis za GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png
    .png

    Donosimo format zahtjeva i odgovora OCI funkcija za primjer broja riječi u Pythonu.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    Ako je funcMode u zahtjevu 'describeFunction', funkcija bi trebala vratiti definiciju funkcije sa statusom (povratni kod i poruka pogreške), izlazima (naziv, vrsta podataka u izlaznom stupcu), parametrima (naziv, opis, vrsta itd. ulaznog parametra), nazivom spremnika itd. u vidu JSON objekta u sljedećem formatu (primjer broja riječi):

    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
        }
    }

    Dodajte sljedeći kod u func.py kako biste vratili funcDefinition ako je funcMode u zahtjevu '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 - Ako je funcMode 'executeFunction', trebala bi se izvršiti logika stvarne funkcije i odgovor bi se trebao vratiti u Oracle Analytics zajedno s izlazom. U slučaju pozivanja registrirane funkcije iz tijeka podataka u servisu Oracle Analytics, objekt zahtjeva bit će u sljedećem formatu s nazivom stupca: args, input(bucketName, fileName, fileExtension, fileName, method & rowID), output(bucketName, fileName & 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"
        }
    }

Više o stvaranju funkcija u okruženju OCI

Funkcije možete stvarati pomoću OCI konzole, u naredbenom retku (Fn Project CLI) ili putem API-ja. Npr., u OCI konzoli pritisnite Razvojni servisi, zatim Funkcije i slijedite zaslonske upute za stvaranje aplikacija i jedne ili više funkcija. Pojedinosti potražite u odjeljku Stvaranje funkcija u OCI dokumentaciji. Ako stvarate funkcije po prvi put, slijedite korake u sveobuhvatnom primjeru Stvaranje, implementacija i pozivanje funkcije Helloworld. Sve funkcije koje želite upotrebljavati u servisu Oracle Analytics moraju uključivati oznaku slobodnog formata oac-compatible=true (pogledajte Više o konfiguriranju OCI funkcija za upotrebu u servisu Oracle Analytics).

Savjeti za stvaranje funkcija u OCI konzoli

  • Omogućavanje zapisnika - Zapisnici su prema zadanim postavkama onemogućeni za funkcije. Kako biste omogućili zapisnike za funkcije, na stranici Aplikacije pritisnite Zapisnici i omogućite zapisnik naveden za Naziv zapisnika. U izborniku Resursi sada možete odabrati opciju Proširi zapisnik i analizirati unose zapisnika zbog rješavanja problema i dijagnostike problema funkcije.
  • Uključivanje ovisnih vrijednosti - Uključite pakete ovisnih vrijednosti u datoteku requirements.txt za funkciju.
  • Praćenje pravila uvlačenja- Slijedite pravila uvlačenja za Python dok kodirate Python funkcije.
  • Upotreba pogrešaka odgovora funkcije - Pojedinosti pogreške navedene na stranici Tijek podataka upotrijebite za dijagnosticiranje problema.
  • Lokalno testiranje funkcija u početku - Prije nego što stvorite funkciju u okruženju OCI, lokalno testirajte funkciju u svom razvojnom okruženju kako biste se uvjerili da je funkcija sintaktički i logički ispravna.
  • Testiranje funkcija u okruženju OCI - Prije integracije funkcija sa servisom Oracle Analytics, provjerite možete li ih uspješno implementirati i pozvati kao samostalne funkcije u okruženju OCI.
  • Povećaj istek vremena- Funkcije prema zadanim postavkama imaju istek od 30 sekundi. Ako je potrebno, povećajte postavku isteka vremena (na primjer, promijenite je na 300 sekundi) na stranici Uređivanje funkcije u servisu OCI Console.
  • Povećaj memoriju- funkcije prema zadanim postavkama imaju ograničenje memorije od 1024 MB. Ako je potrebno, povećajte ograničenje memorije na stranici Uređivanje funkcije u servisu OCI Console.
  • Optimiziranje prostora - Neiskorištene datoteke izbrišite odmah nakon upotrebe.
  • Obratite pažnju na mrežnu latenciju - Imajte na umu kako mrežna latencija može uzrokovati blago kašnjenje ukupne obrade.

Pravila neophodna za integraciju OCI funkcija i servisa Oracle Analytics

Kako biste integrirali Oracle Analytics i OCI funkcije, uvjerite se da imate potrebna sigurnosna pravila.

OCI korisnik kojega definirate u vezi između servisa Oracle Analytics Cloud i svoje OCI klijentske particije mora imati dopuštenja za čitanje, pisanje i brisanje u odjeljku u kojem se nalaze OCI resursi koje želite upotrijebiti. Provjerite pripada li korisnik servisa OCI grupi korisnika koja ima sljedeća minimalna pravila OCI zaštite. Nakon što povežete OCI klijentsku particiju iz servisa Oracle Analytics, možete upotrijebiti OCI API ključ ili glavni resurs.

Bilješka:

Za glavni resurs, kako biste uključili sve instance servisa Analytics iz odjeljka, definirajte {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} umjesto {request.principal.id='<analytics_instance_ocid>'}.
Pravila API ključa Pravila glavnog resursa
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>'}
Pravila dinamičke grupe Opis
Allow dynamic-group <dynamic_group> to manage objects in compartment <compartment_name> where target.bucket.name='<staging_bucket_name>' Omogućava pristup spremniku za pripremu za dinamičku grupu.

Primjer odgovarajućeg pravila: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}, gdje je <compartment_id> Oracle Cloud ID odjeljka koji sadrži funkcije.

Tipični tijek rada za transformaciju podataka pomoću OCI funkcija

Slijedite ove zadatke na visokoj razini u redoslijedu navedenom u nastavku kako biste transformirali podatke u servisu Oracle Analytics s pomoću OCI funkcija.

Zadatak Opis Dodatne informacije

Stvorite funkcije u OCI-ju (zahtijeva ovlaštenja za razvoj funkcija)

Stvorite funkcije u svojoj OCI klijentskoj particiji i uvjerite se kako su u skladu s preduvjetima navedenima za upotrebu sa servisom Oracle Analytics.

Više o konfiguriranju OCI funkcija za upotrebu u servisu Oracle Analytics

Dodjela OCI pravila Provjerite imate li potrebna OCI pravila za povezivanje API ključa ili glavnog resursa. Pravila neophodna za integraciju OCI funkcija i servisa Oracle Analytics
Spojite Oracle Analytics i svoju OCI klijentsku particiju (zahtijeva ovlaštenja administratora ili DV autora) U servisu Oracle Analytics stvorite vezu s OCI klijentskom particijom.

Stvaranje veze s klijentskom particijom Oracle Cloud Infrastructure

Registrirajte OCI funkcije u servisu Oracle Analytics (zahtijeva ovlaštenja administratora ili DV autora) U servisu Oracle Analytics registrirajte svoje OCI funkcije kako biste ih mogli pozvati iz tijekova podataka.

Registriranje OCI funkcija u servisu Oracle Analytics

Transformirajte svoje podatke pomoću OCI funkcija (zahtijeva ovlaštenja administratora ili DV autora) Stvorite tijek podataka i upotrijebite korak Primijeni prilagođenu skriptu kako biste pozvali OCI funkciju.

Transformacija podataka s pomoću OCI funkcija

Registriranje OCI funkcija u servisu Oracle Analytics

Registrirajte OCI funkcije u servisu Oracle Analytics kako biste ih mogli upotrebljavati u tijekovima podataka za transformaciju podataka. Npr., možete registrirati funkciju za konverziju jezika teksta na engleskom u tekst na španjolskom ili njemačkom putem alata za analizu podataka.

  1. Na početnoj stranici servisa Oracle Analytics pritisnite Izbornik stranice, a zatim Registracija modela/funkcije, pa OCI funkcije.
  2. U dijaloškom okviru Registracija prilagođene funkcije odaberite vezu OCI klijentske particije u kojoj se nalaze vaše funkcije.
  3. U dijaloškom okviru Odabir aplikacije odaberite aplikaciju koja sadrži vaše OCI funkcije.
    Ako niste sigurni, upitajte osobu koja je stvorila funkcije u okruženju OCI.
  4. U dijaloškom okviru Odabir funkcije odaberite funkciju i pritisnite Registriraj.
    Ako je funkcija koju želite upotrebljavati zasivljena, zatražite administratora da provjeri je li konfigurirana za Oracle Analytics. Pogledajte Više o konfiguriranju OCI funkcija za upotrebu u servisu Oracle Analytics.
Za transformaciju podataka možete upotrijebiti registrirane OCI funkcije iz tijekova podataka. Kako biste provjerili koje su funkcije registrirane, registrirane funkcije možete pregledati na kartici Skripte stranice Strojno učenje (na početnoj stranici pritisnite Navigator Ikona navigatora koja služi za prikaz navigatora, pa zatim Strojno učenje i onda Skripte).