Integrujte funkce infrastruktury Oracle Cloud (OCI) se službou Oracle Analytics, abyste je mohli používat v datových tocích k transformaci dat.
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.
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
.
.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
a nastavte hodnotu true
.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.
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
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.
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. |
|
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. |
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.