Integrace nástroje Oracle Analytics s funkcemi OCI

Integrujte funkce infrastruktury Oracle Cloud (OCI) se službou Oracle Analytics, abyste je mohli používat v datových tocích k transformaci dat.

Používání funkcí OCI ve službě Oracle Analytics

Data ve službě Oracle Analytics můžete transformovat pomocí funkcí vytvořených v infrastruktuře OCI. Můžete například použít funkci převodu jazyka k převodu anglického textu do španělštiny nebo němčiny.

Nejprve provedete registraci funkcí OCI ve službě Oracle Analytics a poté je bude moci používat v datových tocích jakýkoli uživatel služby Oracle Analytics s oprávněními správce služby BI nebo autora obsahu DV.

Konfigurace funkcí OCI k použití ve službě Oracle Analytics

Vytvořte funkce v konzole OCI, abyste je mohli použít k transformaci dat v datových tocích služby Oracle Analytics.

Registrace funkcí OCI ve službě Oracle Analytics

Pokud registrujete funkci OCI ve službě Oracle Analytics a v dialogovém okně Vybrat funkci je zobrazena šedou barvou, zkontrolujte, zda je konfigurována pomocí tagu oac-compatible a vyvolána správnou hodnotou funcMode.
Popis GUID-6FE05B2C-5352-4953-998F-D967B6BA1891-default.png následuje
.png''

Konfigurace funkcí OCI k použití ve službě Oracle Analytics

Funkce OCI, které chcete používat ve službě Oracle Analytics, musí zahrnovat tag oac-compatible a kód funkce musí obsahovat proměnnou funcMode. Postup konfigurace těchto nastavení v konzole OCI:

  • oac-compatible – Přidejte k funkci tag volného tvaru s názvem oac-compatible a nastavte hodnotu true.Popis GUID-6DDD2A98-7F8D-45D7-9110-9643C2128A84-default.png následuje
    .png''
  • funcMode – Zahrňte proměnnou funcMode do kódu funkce. Služba Oracle Analytics odešle požadavek na registraci funkce OCI s parametrem funcMode=describeFunction a požadavek na vyvolání funkce OCI s parametrem funcMode=executeFunction. Funkce obslužného programu v souboru func.py by měla fungovat v režimu descriptionFunction nebo executeFunction. To lze provést na základě hodnoty vstupní proměnné funcMode obsažené v požadavku, jak je uvedeno níže.

    Popis GUID-0C335709-DEDC-4655-8A29-F544608DA8B3-default.png následuje
    .png''

    Zde je uveden formát požadavku a odpovědi funkcí OCI pro příklad zjišťování počtu slov vytvořený v jazyku python.

    funcMode = describeFunction

    { "funcMode": "describeFunction"}

    Když má proměnná funcMode v požadavku hodnotu „describeFunction“, funkce by měla vrátit definici funkce se stavem (returnCode a errorMessage), výstupy (název a typ dat výstupního sloupce), parametry (název, popis, typ atd. vstupního parametru), bucketName atd. jako objekt JSON v následujícím formátu (příklad pro počet 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
        }
    }

    Přidejte následující kód do souboru func.py, aby byla při hodnotě „describeFunction“ proměnné funcMode v požadavku vrácena hodnota funcDefinition.

    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 – Když má proměnná funcMode hodnotu „executeFunction“, měla by být spuštěna skutečná logika funkce a odpověď by měla být odeslána zpět do služby Oracle Analytics s výstupem. Když je registrovaná funkce vyvolána z datového toku ve službě Oracle Analytics, objekt požadavku bude mít následující formát s názvem sloupce v argumentech – input(bucketName, fileName, fileExtension, fileName, method & rowID) a 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"
        }
    }

Vytváření funkcí v infrastruktuře OCI

Funkce můžete vytvářet pomocí konzoly OCI, příkazového řádku (Fn Project CLI) nebo rozhraní API. Například v konzole OCI klikněte na položku Služby pro vývojáře, poté na volbu Funkce a podle pokynů na obrazovce vytvořte aplikace a jednu nebo více funkcí. Podrobnosti získáte v tématu Dokumentace vytváření funkcí v infrastruktuře OCI. Pokud vytváříte funkce poprvé, postupujte podle pokynů uvedených v příkladu zahrnujícím celý postup Vytvoření, nasazení a vyvolání funkce Helloworld. Všechny funkce, které chcete používat ve službě Oracle Analytics, musí obsahovat tag volného tvaru oac-compatible=true (prostudujte si výše uvedené téma Konfigurace funkcí OCI k použití ve službě Oracle Analytics).

Tipy pro vytváření funkcí v konzole OCI

  • Aktivujte protokoly – Při výchozím nastavení jsou protokoly pro funkce deaktivovány. Chcete-li aktivovat protokoly pro funkce, pak na stránce Aplikace klikněte na položku Protokoly a aktivujte protokol uvedený v poli Název protokolu. V části Zdroje můžete nyní vybrat položku Prozkoumat protokol a následně projít záznamy protokolu, abyste odladili funkce a diagnostikovali případné problémy.
  • Zahrňte závislosti – Zahrňte závislé balíčky do souboru requirements.txt pro danou funkci.
  • Dodržujte pravidla odsazování – Při kódování funkcí v jazyku Python dodržujte pravidla odsazování platná pro tento jazyk.
  • Využívejte chyby odezvy funkcí – Využívejte podrobnosti o chybách uvedené na stránce Datový tok k diagnostice problémů.
  • Nejdříve testujte funkce místně – Před vytvořením funkce v infrastruktuře OCI testujte funkci místně ve vývojovém prostředí, abyste se ujistili, že je syntakticky a logicky správná.
  • Testujte funkce v infrastruktuře OCI – Před integrací funkcí se službou Oracle Analytics se ujistěte, že je můžete úspěšně nasadit a vyvolat jako samostatné funkce v infrastruktuře OCI.
  • Zvyšte časový limit – Při výchozím nastavení mají funkce časový limit 30 sekund. V případě potřeby nastavte vyšší hodnotu časového limitu (například ji změňte na 300 sekund) na stránce Upravit funkci v konzole OCI.
  • Zvětšete paměť – Při výchozím nastavení mají funkce limit paměti 1024 MB. V případě potřeby zvyšte limit paměti na stránce Upravit funkci v konzole OCI.
  • Optimalizujte prostor – Odstraňte nepoužívané soubory ihned po použití.
  • Vezměte v úvahu latenci sítě – Mějte na paměti, že latence sítě může způsobit mírné zpoždění celkového zpracování.

Zásady nutné pro integraci funkcí OCI se službou Oracle Analytics

Chcete-li integrovat službu Oracle Analytics s funkcemi OCI, ujistěte se, že máte požadované zásady zabezpečení.

Uživatel infrastruktury OCI, kterého zadáte pro propojení služby Oracle Analytics Cloud a vašeho pronajatého prostoru infrastruktury OCI, musí mít oprávnění ke čtení, zápisu a odstraňování v kompartmentu obsahujícím zdroje, které chcete používat. Ujistěte se, že uživatel infrastruktury OCI patří do skupiny uživatelů s následujícími minimálními zásadami zabezpečení OCI. Když se připojíte k pronajatému prostoru OCI ze služby Oracle Analytics, můžete použít buď klíč API OCI, nebo objekt zabezpečení zdroje.

Poznámka: V případě objektu zabezpečení zdroje, chcete-li zahrnout všechny instance Analytics pod kompartment, zadejte {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} místo {request.principal.id='<analytics_instance_ocid>'}.

Tabulka 32-1 Zásady zabezpečení vyžadované pro integraci funkcí OCI

Zásady klíčů API Zásady objektů zabezpečení zdroje
Povolit skupině <group_name> používat sadu funkcí v kompartmentu <compartment_name> Povolit každému uživateli používat sadu funkcí v kompartmentu <compartment_name>, kde všechny {request.principal.id='<analytics_instance_ocid>'}
Povolit skupině <group_name> číst sektory v kompartmentu <compartment_name> Povolit každému uživateli číst sektory v kompartmentu <compartment_name>, kde všechny {request.principal.id='<analytics_instance_ocid>'}
Povolit skupině <group_name> provádět správu objektů v kompatmentu <compartment_name>, kde target.bucket.name='<staging_bucket_name>' Povolit každému uživateli provádět správu objektů v kompartmentu <compartment_name>, kde všechny {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'}
Povolit skupině <group_name> číst úložiště objektů – prostory názvů v pronajatém prostoru Povolit každému uživateli číst úložiště objektů – prostory názvů v pronajatém prostoru, kde všechny {request.principal.id='<analytics_instance_ocid>'}

Tabulka 32-2 Funkce OCI – Zásady dynamické skupiny

Zásada Popis
Povolit dynamické skupině <dynamic_group> provádět správu objektů v kompartmentu <compartment_name>, kde target.bucket.name='<staging_bucket_name>' Poskytuje přístup k dočasnému sektoru pro dynamickou skupinu.

Příklad pravidla shody pro <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}

Poznámka: <compartment_id> je OCID kompartmentu, který obsahuje funkce.

Typický pracovní postup pro transformaci dat pomocí funkcí OCI

Chcete-li transformovat data ve službě Oracle Analytics pomocí funkcí OCI, proveďte tyto úlohy vysoké úrovně v níže uvedeném pořadí.

Úloha Popis Další informace

Vytváření funkcí v infrastruktuře OCI (vyžaduje oprávnění vývojáře funkcí)

Vytvořte funkce ve svém pronajatém prostoru infrastruktury OCI a ujistěte se, že splňují požadavky stanovené pro použití se službou ​​Oracle Analytics.

Konfigurace funkcí OCI k použití ve službě Oracle Analytics

Přiřazení zásad OCI Ujistěte se, že máte požadované zásady OCI pro připojení pomocí klíče API nebo objektu zabezpečení zdroje. Zásady nutné pro integraci funkcí OCI se službou Oracle Analytics
Připojení služby Oracle Analytics k vašemu pronajatému prostoru infrastruktury OCI (vyžaduje oprávnění správce nebo autora DV) Ve službě Oracle Analytics vytvořte připojení ke svému pronajatému prostoru infrastruktury OCI.

Vytvoření připojení k vašemu pronajatému prostoru infrastruktury OCI

Registrace funkcí OCI ve službě Oracle Analytics (vyžaduje oprávnění správce nebo autora DV) Proveďte registraci svých funkcí OCI ve službě Oracle Analytics, abyste je mohli volat z datových toků.

Registrace funkcí infrastruktury OCI ve službě Oracle Analytics

Transformace dat pomocí funkcí OCI (vyžaduje oprávnění správce nebo autora DV) Vytvořte datový tok a použitím kroku Použít vlastní skript vyvolejte funkci OCI.

Transformace dat pomocí funkcí OCI

Registrace funkcí infrastruktury OCI ve službě Oracle Analytics

Proveďte registraci funkcí OCI ve službě Oracle Analytics, abyste je mohli používat v datových tocích k transformaci dat. Můžete například registrovat funkci převodu jazyka, aby datoví analytici mohli převádět anglické texty do španělštiny nebo němčiny.

  1. Na domovské stránce služby Oracle Analytics klikněte na nabídku Stránka, poté na položku Registrovat model/funkci a nakonec na volbu Funkce OCI.
  2. V dialogovém okně Registrovat vlastní funkci vyberte připojení k pronajatému prostoru OCI, ve kterém jsou umístěny vaše funkce.
  3. V dialogovém okně Vybrat aplikaci vyberte aplikaci, která obsahuje vaše funkce OCI.
    Pokud si nejste jisti, zeptejte se osoby, která vytvořila funkce v infrastruktuře OCI.
  4. V dialogovém okně Vybrat funkci vyberte funkci a poté klikněte na položku Registrovat.
    Pokud je funkce, kterou chcete použít, zobrazena šedou barvou, požádejte správce, aby zkontroloval, zda má tato funkce nastavenu konfiguraci pro službu Oracle Analytics. Prostudujte si téma Konfigurace funkcí OCI k použití ve službě Oracle Analytics.
K transformaci dat můžete použít registrované funkce OCI v datových tocích. Chcete-li ověřit, pro které funkce byla provedena registrace, můžete si registrované funkce prohlédnout na kartě Skripty na stránce Strojové učení (na domovské stránce klikněte postupně na položky Navigátor, Strojové učení a Skripty).