Článek přečtěte do 8 min.

Oracle Fusion Analytics (FAW) je nativní služba Oracle Cloud Infrastructure (OCI), která využívá výkon Oracle Autonomous Data Warehouse (ADW) a Oracle Analytics Cloud (OAC). Poskytuje komplexní analytické řešení, které zahrnuje datový kanál, datový sklad, sémantický model a obsah, jako jsou řídicí panely a sestavy. Fusion Analytics extrahuje data z různých zdrojů, transformuje je a načte je do ADW.

S rozšiřováním a rozvojem podniků roste také význam automatizace při správě datových a analytických aplikací. Na základě uživatelského vstupu nabízí Oracle službu FAW Event Producer, která vám dává větší kontrolu nad sledováním přizpůsobených událostí a oznámení. Tato služba je efektivním automatizovaným řešením pro vytváření konsolidovaných pracovních postupů událostí a oznámení, které mohou zefektivnit vaše obchodní operace Fusion Analytics. Tato funkce je dostupná v náhledu.

Tento příspěvek popisuje konkrétní případ použití a poskytuje podrobné pokyny pro použití vlastních funkcí k odesílání e-mailových upozornění na základě událostí FAW.

Přehled funkcí

Oracle Cloud Infrastructure Functions nabízí plně spravovanou platformu Functions-as-a-Service pro více nájemců, vysoce škálovatelnou a na vyžádání. Je postaven na podnikové cloudové infrastruktuře Oracle a je poháněn open-source enginem Fn Project. Chcete-li se zaměřit na psaní kódu, který bude vyhovovat vašim obchodním potřebám, použijte funkce OCI (někdy zkráceně jen Funkce a dříve známé jako Oracle Functions).

Funkce jsou jednotky kódované v jazycích Java, Python, Node, Go, Ruby a C# a přeskupené v aplikacích. Tento příklad používá Python, nejrozšířenější jazyk pro datovou vědu. Funkce jsou uloženy jako ukotvitelné obrazy v určeném registru kontejnerů.

Můžete je vyvolat různými způsoby:

  • Pomocí rozhraní Fn Project CLI.
  • Použití Oracle Cloud Infrastructure CLI / Cloud Shell.
  • Používání sad Oracle Cloud Infrastructure SDK.
  • Vytvoření podepsaného požadavku HTTP na koncový bod vyvolání funkce. Každá funkce má koncový bod vyvolání.

Přehled OCI Vault

Oracle Cloud Infrastructure Vault je služba pro správu klíčů, která ukládá a spravuje hlavní šifrovací klíče a tajné klíče pro bezpečný přístup ke zdrojům. Vault vám umožňuje bezpečně ukládat hlavní šifrovací klíče a tajné informace, které byste jinak mohli uložit v konfiguračních souborech nebo v kódu. Konkrétně, v závislosti na režimu ochrany, jsou klíče trezoru buď uloženy na serveru, nebo jsou uloženy na vysoce dostupných a odolných hardwarových bezpečnostních modulech (HSM), které splňují certifikaci Federal Information Processing Standards (FIPS) 140-2 Security Level 3.

Pomocí služby Vault můžete vytvářet a spravovat následující zdroje:

  • Trezory
  • Klíče
  • Tajemství

Snímek obrazovky FAWAgentVault

Jak mohu doručit vlastní obsah prostřednictvím agentů Oracle Analytics Cloud a funkce OCI na základě událostí FAW?

Tato část popisuje spouštění agentů OAC pro doručování vlastního obsahu na základě událostí FAW.

Případ použití

Je třeba naplánovat přehledy tak, aby mohly být doručovány přímo uživatelům. Tato zpráva by měla být doručena do e-mailové schránky uživatele po dokončení denního přírůstkového běhu kanálu.

Předpoklady

Vytvořte analýzu v cloudu Oracle Analytics a agenta, který doručí obsah sestavy. Určete, kdo má přijímat doručovací obsah agenta a kdo se může přihlásit k odběru agenta.

Vytvořte trezor

1. Přihlaste se do konzoly OCI.

Konzole FAWAgentOCI

2. Klepněte na položku Identita a zabezpečení.

FAWAgentIdentity and Security

3. Klikněte na Vault.

Trezor FAWAgentOCI

4. Na stránce Vault klikněte na Vytvořit Vault.
V dialogovém okně Vytvořit úschovnu vyberte oddíl a zadejte Název.

FAWAgentCreate Vault

5. V části Hlavní šifrovací klíče klikněte na Vytvořit klíč.

Klíč FAWAgentCreate

6. V dialogovém okně Vytvořit klíč vyberte Přihrádku , zadejte Název a klikněte na Vytvořit klíč.

FAWAgentCreate Key02

7. V části Zdroje klepněte na položku Tajemství.

Tajemství FAWAgent

8. V části Tajemství klepněte na Vytvořit tajný klíč.

Tajemství FAWAgentCreate

9. V dialogovém okně Create Secret zadejte Název a Popis.
Secret Type Template vyberte Base64.
části Secret Contents zadejte obsah klíče, jako je uživatelské jméno nebo OAC URL, a poté klikněte na Create Secret.

FAWAgentCreate Secret02

10. Podle výše uvedených kroků vytvořte tajné klíče pro AgentUserName, AgentCredentials, AgentOACURL a AgentPath .

Tajemství agentů FAWAgent

Zkopírujte OCID tajemství, která budete používat ve funkci popsané v další části.
Poznámka: Ujistěte se, že tento uživatel existuje v instanci OAC související s Fusion Analytics a má schopnost spustit agenta.

Vytvořte funkci

Chcete-li nastavit funkce, postupujte podle kroků popsaných v části Funkce QuickStart na Cloud Shell.
K vytvoření funkce můžete použít následující kód:

<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import base64</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import oci</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import io</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import json</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import base64</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import oci</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import logging</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import sys</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">import suds</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">from suds.client import Client</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">from fdk import response</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">def get_text_secret(secret_ocid):</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    signer = oci.auth.signers.get_resource_principals_signer()</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    try:</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        client = oci.secrets.SecretsClient({}, signer=signer)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        secret_content = client.get_secret_bundle(secret_ocid).data.secret_bundle_content.content.encode('utf-8')</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        decrypted_secret_content = base64.b64decode(secret_content).decode("utf-8")</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    except Exception as ex:</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        print("ERROR: failed to retrieve the secret content", ex, flush=True)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        raise</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    return {decrypted_secret_content}</span></span></span></span></span><font></font>
<font></font>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">def handler(ctx, data: io.BytesIO = None):</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    logging.getLogger().info("function start")</span></span></span></span></span><font></font>
<font></font>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New""># set the OCID's for the secrets in Oracle Vault which has OAC Login Credentials</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    Agent_user_ocid = "<OCID of AgentUserName>"</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    Agent_credential_ocid = "<OCID of AgentCredentials>"</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    oac_url_oicd = "<OCID of AgentOACURL>"</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    path_ocid = "<OCID of AgentPath>"</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    resp = ""</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    Username,Password,oac_url,path = ""</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    Username = get_text_secret(Agent_user_ocid)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    Password = get_text_secret(Agent_credential_ocid)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    oac_url = get_text_secret(oac_url_oicd)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    path = get_text_secret(path_ocid)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    sourceclient = Client(oac_url)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    session_id = sourceclient.service["SAWSessionService"].logon(username,password)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    print(session_id)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    test = sourceclient.service["IBotService"].executeIBotNow(path, session_id)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    sourceclient.service["SAWSessionService"].logoff(session_id)</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    print("Logoff")</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    logging.getLogger().info("function end")</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">    return response.Response(</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        ctx, response_data=json.dumps(</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">            {"message": "Hello {0}".format(name)}),</span></span></span></span></span>
<span style="font-size:12pt"><span style="tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"><span style="font-family:"Times New Roman",serif"><span style="font-size:10.0pt"><span style="font-family:"Courier New"">        headers={"Content-Type": "application/json"}</span></span></span></span></span>
<span style="font-size:10.0pt"><span style="font-family:"Courier New"">    )</span></span>

Ujistěte se, že jste dokončili všechny kroky potřebné k vytvoření funkce OCI. Zkontrolujte kód a aktualizujte OCID na tajemství v Oracle Vault.

Povolte funkci FAW Event Service a vytvořte vlastní automatické e-mailové upozornění

Chcete-li povolit funkci služby událostí FAW a vytvořit vlastní automatizaci, která odešle e-mail pomocí služby FAW Event Producer, postupujte takto:

  • Přihlaste se do konzole FAW , klikněte na Povolit funkce a povolte upozornění na události .
  • Přihlaste se do konzole OCI a vytvořte téma pro „FAW Data Load Complete“.
  • Přihlaste se k tématu s vaší funkcí.

Zdroj: Oracle