Integrujte Oracle Analytics s funkcemi infrastruktury Oracle Cloud (OCI), 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:
Pokud chcete v případě objektu zabezpečení zdroje zahrnout všechny instance analytiky pod kompartment, zadejte{request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid>'} místo {request.principal.id='<analytics_instance_ocid>'}.| 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>'} |
| Zásada dynamické skupiny | 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 párování: <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}, kde <compartment_id> je Oracle Cloud ID kompartmentu, který funkci obsahuje.
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 pronajatému prostoru infrastruktury Oracle Cloud |
| 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.