Integrere Oracle Analytics med Oracle Cloud Infrastructure-funksjoner

Integrere Oracle Analytics med funksjoner i Oracle Cloud Infrastructure (OCI) for å bruke dem til å omforme data i dataflyter.

Om bruk av OCI-funksjoner i Oracle Analytics

Du kan omforme data i Oracle Analytics ved hjelp av funksjoner som er opprettet i OCI. Du kan for eksempel bruke en funksjon for språkkonvertering til å konvertere engelsk tekst til spansk eller tysk.

Du må først registrere OCI-funksjonene i Oracle Analytics, og deretter kan en hvilken som helst Oracle Analytics-bruker med privilegier som tjenesteadministrator eller forfatter av datavisualiseringsinnhold bruke dem i dataflyter.

Om konfigurasjon av OCI-funksjoner for bruk i Oracle Analytics

Opprett funksjoner i OCI-konsollen, slik at du kan bruke dem til å omforme data i dataflyter i Oracle Analytics.

Om registrering av OCI-funksjoner i Oracle Analytics

Hvis en OCI-funksjon du vil registrere i Oracle Analytics, vises i grått i dialogboksen Velg en funksjon, må du kontrollere at den er konfigurert med koden oac-compatible og aktivert med riktig verdi for funcMode.
Beskrivelse av GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png følger
.png

Om konfigurasjon av OCI-funksjoner for bruk i Oracle Analytics

OCI-funksjoner du vil bruke i Oracle Analytics, må ha koden oac-compatible, og funksjonskoden må inneholde variabelen funcMode. Konfigurer disse innstillingene i OCI-konsollen:

  • oac-compatible - legg til en friformskode i funksjonen med navnet oac-compatible, og sett verdien til true.Beskrivelse av GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png følger
    .png
  • funcMode – inkluder variabelen funcMode i funksjonskoden. Oracle Analytics sender en forespørsel om å registrere en OCI-funksjon med funcMode=describeFunction, og en forespørsel om å aktivere en OCI-funksjon med funcMode=executeFunction. Behandlerfunksjonen i Func.py skal utføres i modusen describeFunction eller executeFunction. Dette kan gjøres basert på verdien for inndatavariabelen funcMode fra forespørselen, som vist nedenfor.

    Beskrivelse av GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png følger
    .png

    Her er forespørsel- og svarformatet for OCI-funksjoner for et eksempel på ordtelling i Python.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    Når funcMode i forespørselen er describeFunction, skal funksjonen returnere funksjonsdefinisjonen med status (returnCode og errorMessage), utdata (name, dataType for utdatakolonnen), parametre (name, description, type og så videre for inndataparameteren), bucketName og så videre som et JSON-objekt, i følgende format (eksempel på ordtelling):

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

    Legg til koden nedenfor i Func.py for å returnere funcDefinition når funcMode i forespørselen er 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 – når funcMode er executeFunction, skal den faktiske funksjonslogikken utføres, og svaret skal sendes tilbake til Oracle Analytics med utdataene. Når den registrerte funksjonen startes fra en dataflyt i Oracle Analytics, har forespørselobjektet formatet nedenfor, med kolonnenavnet i argumenter, inndata (bucketName, fileName, fileExtension, fileName, method og rowID) og utdata (bucketName, fileName og 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"
        }
    }

Om å opprette funksjoner i OCI

Du kan opprette funksjoner ved hjelp av OCI-konsollen, kommandolinjen (Fn Project CLI) eller API-et. I OCI-konsollen klikker du for eksempel på Utviklertjenester og deretter Funksjoner og følger instruksjonene på skjermen for å opprette applikasjoner og én eller flere funksjoner. Se Opprette funksjoner i OCI-dokumentasjon hvis du vil ha flere opplysninger. Hvis du skal opprette funksjoner for første gang, følger du alle trinnene i dette eksemplet: Opprette, implementere og aktivere en HelloWorld-funksjon. Alle funksjonene du vil bruke i Oracle Analytics, må inneholde friformskoden oac-compatible=true (se Om konfigurasjon av OCI-funksjoner for bruk i Oracle Analytics ovenfor).

Tips for opprettelse av funksjoner i OCI-konsollen

  • Aktiver logger - logger er som standard deaktivert for funksjoner. Hvis du vil aktivere logger for funksjoner, klikker du på Logger på siden Applikasjoner og aktiverer loggen som er angitt under Loggnavn. Under Ressurser kan du velge Utforsk logg og drille ned i loggoppføringer for å feillete og diagnostisere funksjonsproblemer.
  • Inkluder avhengigheter – inkluder avhengige pakker i filen Requirements.txt for funksjonen.
  • Følg innrykksregler – følg Python-reglene for innrykk når du koder Python-funksjoner.
  • Bruk funksjonssvarfeil - bruk feildetaljene som er oppført på siden Dataflyt, til å diagnostisere problemer.
  • Test funksjoner lokalt først - før du oppretter en funksjon i OCI, tester du den lokalt i utviklermiljøet for å sikre at den har riktig syntaks og er logisk.
  • Test funksjoner i OCI – før du integrerer funksjoner med Oracle Analytics, kontrollerer du at du kan implementere og aktivere dem som frittstående funksjoner i OCI.
  • Øk tidsavbruddet - funksjoner har som standard et tidsavbrudd på 30 sekunder. Øk om nødvendig innstillingen for tidsavbruddet (endre for eksempel til 300 sekunder) på siden Rediger funksjon i OCI-konsollen.
  • Øk minnet - funksjoner har som standard en minnegrense på 1024 MB. Øk om nødvendig minnegrensen på siden Rediger funksjon i OCI-konsollen.
  • Optimaliser plass – slett ubrukte filer umiddelbart etter bruk.
  • Vær oppmerksom på ventetid i nettverket – husk at ventetid i nettverket kan føre til en liten forsinkelse i behandlingen.

Nødvendige retningslinjer for å integrere OCI-funksjoner med Oracle Analytics

Hvis du skal integrere Oracle Analytics med OCI-funksjoner, må du sørge for at du har de nødvendige sikkerhetsretningslinjene.

OCI-brukeren du angir i tilkoblingen mellom Oracle Analytics Cloud og OCI-leieforholdet, må ha lese-, skrive- og slettetillatelse i seksjonen som inneholder OCI-ressursene du vil bruke. Kontroller at OCI-brukeren tilhører en brukergruppe som har minimum følgende OCI-sikkerhetsretningslinjer. Når du kobler til et OCI-leieforhold fra Oracle Analytics, kan du bruke en API-nøkkel eller ressurskontohaver for OCI.

Merknad:

For ressurskontohaver må du angi {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} i stedet for {request.principal.id='<analytics_instance_ocid>'} for å inkludere alle Analytics-forekomster i en seksjon.
Retningslinjer for API-nøkkel Retningslinjer for ressurskontohaver
Allow group <gruppenavn> to use functions-family in compartment <seksjonsnavn> Allow any-user to use functions-family in compartment <seksjonsnavn> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <gruppenavn> to read buckets in compartment <seksjonsnavn> Allow any-user to read buckets in compartment <seksjonsnavn> where all {request.principal.id='<analytics_instance_ocid>'}
Allow group <gruppenavn> to manage objects in compartment <seksjonsnavn> where target.bucket.name='<navn_på_midlertidig_bås>' Allow any-user to manage objects in compartment <seksjonsnavn> where all {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'}
Allow group <gruppenavn> to read objectstorage-namespaces in tenancy Allow any-user to read objectstorage-namespaces in tenancy where all {request.principal.id='<analytics_instance_ocid>'}
Retningslinjer for dynamisk gruppe Beskrivelse
Allow dynamic-group <dynamisk_gruppe> to manage objects in compartment <seksjonsnavn> where target.bucket.name='<navn_på_midlertidig_bås>' Gir den dynamiske gruppen tilgang til midlertidig bås.

Eksempel på samsvarsregel: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}, der <compartment_id> er Oracle Cloud-ID-en til seksjonen som inneholder funksjonene.

Vanlig arbeidsflyt for omforming av data ved hjelp av OCI-funksjoner

Følg disse oppgavene på høyt nivå i rekkefølgen de er oppført med nedenfor, når du vil omforme data i Oracle Analytics ved hjelp av OCI-funksjoner.

Oppgave Beskrivelse Flere opplysninger

Opprette funksjoner i OCI (krever privilegier for funksjonsutvikler)

Opprett funksjonene i OCI-leieforholdet, og forsikre deg om at de samsvarer med forutsetningene som er angitt for bruk med Oracle Analytics.

Om konfigurasjon av OCI-funksjoner for bruk i Oracle Analytics

Tilordne OCI-retningslinjer Kontroller at du har de nødvendige OCI-retningslinjene for tilkobling ved hjelp av API-nøkkel eller ressurskontohaver. Nødvendige retningslinjer for å integrere OCI-funksjoner med Oracle Analytics
Koble Oracle Analytics til OCI-leieforholdet (krever privilegier som administrator eller forfatter av datavisualiseringer) Opprett en tilkobling til OCI-leieforholdet i Oracle Analytics.

Opprette en tilkobling til leieforholdet i Oracle Cloud Infrastructure

Registrere OCI-funksjoner i Oracle Analytics (krever privilegier som administrator eller forfatter av datavisualiseringer) Registrer OCI-funksjonene i Oracle Analytics, slik at du kan kalle dem fra dataflyter.

Registrere OCI-funksjoner i Oracle Analytics

Omform dataene ved hjelp av OCI-funksjonene (krever privilegier som administrator eller forfatter av datavisualiseringer) Opprett en dataflyt, og bruk trinnet Bruk egendefinert skript til å starte en OCI-funksjon.

Omforme data ved hjelp av OCI-funksjoner

Registrere OCI-funksjoner i Oracle Analytics

Registrer OCI-funksjoner i Oracle Analytics, slik at du kan bruke dem til å omforme data i dataflyter. Du kan for eksempel registrere en funksjon for språkkonvertering, slik at dataanalytikere kan konvertere engelsk tekst til spansk eller tysk.

  1. Klikk på Sidemeny på hjemmesiden i Oracle Analytics. Klikk på Registrer modell/funksjon, og deretter på OCI-funksjoner.
  2. Velg en tilkobling til OCI-leieforholdet der funksjonene befinner seg, i dialogboksen Registrer en egendefinert funksjon.
  3. Velg applikasjonen som inneholder OCI-funksjonene, i dialogboksen Velg applikasjon.
    Hvis du ikke er sikker, kan du spørre personen som opprettet funksjonene i OCI.
  4. Velg en funksjon i dialogboksen Velg en funksjon, og klikk på Registrer.
    Hvis funksjonen du vil bruke, vises nedtonet, ber du administratoren om å kontrollere at den er konfigurert for Oracle Analytics. Se Om konfigurasjon av OCI-funksjoner for bruk i Oracle Analytics.
Du kan registrere OCI-funksjoner i dataflyter for å omforme data. Hvis du vil verifisere hvilke funksjoner som er registrert, kan du vise registrerte funksjoner i fanen Skript på siden Maskinlæring (klikk på Navigatorhjemmesiden, og klikk deretter på Maskinlæring og Skript).