0%

Day25 - 透過GCP實作(1/4):透過Cloud Function直接拉取資料

接下來這幾天,將會帶領各位以GCP的架構的視角。
向各位闡述我們先前進行的DialogFLow Fulliment操作實際上的架構圖是什麼
而你可以在這個基礎上進行怎樣的設計來建構更好的流程。

先前實作所建構的架構

在數天前的實作教學中:

我們藉由內建在DialogFlow的Inline Editor,
在Cloud Function上建立DialogFlow Fullfiment。
從GCP的架構來看,我們可以得到下方這張圖:
diagram-1
從這張示意圖,我們可以理解Google助理與我們的Action是如何互動的,

當使用者透過Google助理與我們的Action互動後,
Google助理會辨識用戶輸入的語音,並將辨識後得到的文字轉傳給DialogFlow。
執行自然語言處理的DialogFlow會尋找對應的Intent,並設法給予相對應的回應。
如果指定的Intent被設定以Fullfiment來處理回應,則DialogFlow會將擷取到的參數送往Fullfiment。
並由Fullfiment的程式碼進行邏輯盼判斷來產生回應。
上述的說明也可以透過這張圖來表示:
diagram-2

透過Cloud Function直接拉取資料

假定你所使用的資料是Open API。
那麼,你可以透過處理DialogFLow Fullfiment的Cloud Function直接拉取資料。
從GCP的角度,現在你的專案架構會變成以下形式:
diagram-3

例如

介接《萌典》的 OPEN API 所建構的Action

  • 臺灣國語辭典|Google 助理

    下一步…

    在明天的文章中,將會說明如何進行前後端分離。
    使兩個不同的Cloud Function分別專注於不同的任務上,
    而這麼做可以為我們帶來甚麼好處。
以行動支持我

歡迎關注我的其它發布渠道