本樣本介紹了使用邏輯編排建立一個完整的工作流程過程中的操作和通用的基本概念,比如添加觸發器、添加操作、運行工作流程等。在本樣本中,我們通過一個實際案例,向您展示如何通過邏輯編排工作流程自動化您的日常工作。
在本樣本中,構建一個自動化工作流程,每天定時檢查某個網域名稱是否可以註冊,如果可以註冊,則向您的一個DingTalk群發送提醒。最終構建的工作流程如下:

建立工作流程
1. 進入邏輯編排控制台,進入左側菜單我的工作流程(圖示中①),在控制台上方選擇您要建立工作流程的地區(圖示中②),單擊建立工作流程(圖示中③):

2. 在彈出的建立工作流程對話方塊中,填入工作流程名稱後,選擇對應資源群組(本樣本中選擇預設資源群組),單擊確定按鈕。

3. 在建立工作流程對話方塊中,顯示已經建立成功,單擊確定進入下一步。

4. 此時進入了該工作流程的圖形化設計頁面,接下來我們開始設計工作流程。
選擇觸發器
在本樣本中,我們希望是每天檢查指定網域名稱是否可以註冊,所以我們需要添加一個週期的觸發器。
每個工作流程都必須從觸發器開始,該觸發器在發生特定事件或者特定條件得到滿足的情況下,觸發工作流程的運行。
1. 在圖形化設計頁面,單擊計劃調度。

2. 在計劃調度的觸發器選項卡裡,單擊週期。

3. 我們計劃在每天早上9點進行檢查,在觸發器的配置介面中,頻率選擇天(圖示中①),在這些小時多選框內,單擊0後面的刪除按鈕(圖示中②),再在下拉式功能表中選擇9(圖示中③)。

4. 在圖形化設計的工具列上,單擊儲存按鈕,儲存工作流程。此時我們已經建立了一個含有週期觸發器的工作流程。但該工作流程在每天早上9點被觸發後,沒有執行任何操作。因此,接下來我們需要添加檢查網域名稱是否可用等操作。
添加操作
接下來,我們需要通過調用阿里雲的OpenAPI,實現檢查網域名稱是否可以註冊。本次使用的API為網域名稱服務 (DNS)的免費API:CheckDomain。
1. 在週期操作的下方,單擊新步驟按鈕,然後在搜尋方塊內輸入網域名稱(圖示中①),單擊下方出現的網域名稱服務 (DNS)連接器(圖示中②)。

2. 在搜尋方塊內輸入checkdomain(圖示中①),單擊下方出現的CheckDomain操作(圖示中②)。

3. 如果您從未使用邏輯編排服務,此時會出現一個授權按鈕,因為邏輯編排工作流程在運行過程中,需要扮演您的某個RAM角色,訪問您的API,所以需要授權邏輯編排一個正確的RAM角色才能保證工作流程正常運行。單擊授權按鈕,彈出授權對話方塊。該對話方塊內顯示了即將建立的RAM角色名稱和角色描述,以及即將新增的授權策略。這裡邏輯編排根據您需要添加的操作自動推薦了合適的系統許可權,單擊確定完成授權。

1. 如果您當前是子帳號身份訪問邏輯編排,根據您的許可權範圍,授權方式有所不同,請參考通過RAM授權子帳號編排工作流程。
2. 需要身份認證的各種連接器授權方式會有所不同,請參考具體連接器的使用方式。
4. 授權完成後,在DomainName這個參數中填入需要檢查的網域名稱。

5. 接下來我們需要判斷該網域名稱是否可以註冊,我們需要添加一個條件判斷的操作。方法和上述添加檢查網域名稱的操作類似。滾動到可視化編輯器的底部,在最下方單擊新步驟按鈕,選擇控制流程連接器,再選擇If(條件判斷)操作。

6. 該連接器不需要身分識別驗證。接下來我們完善條件判斷裡的邏輯。經過閱讀CheckDomain文檔,該API返回結果中,Avail可以用來判斷網域名稱是否可以註冊。Avail有多種取值,其中,1表示可以註冊,那我們這裡的判斷邏輯就是Avail等於1。單擊條件判斷的左側的輸入框,此時輸入框右側會出現動態內容彈框,裡面展示了當前步驟可以擷取到的值。點擊動態內容彈框內的Avail(圖示中①),則該值會自動填入到左側輸入框內。在右側輸入框內填入判斷的值1(圖示中②)。
這裡我們判斷的是Avail為1的情況下執行通知操作,如果您期望是可預訂、可刪除預定等情況下執行通知操作,則可以根據自己的需要修改判斷邏輯。比如我們期望是在可註冊、可預訂、可刪除預定的情況下都執行通知操作,則判斷邏輯條件選擇大於,後面的值填寫0。

7. 接下來我們需要在滿足條件的情況下添加執行通知的操作。單擊If true裡面的新步驟按鈕,再單擊DingTalk連接器,選擇通過自訂機器人發送訊息操作。這裡需要填寫您DingTalk自訂機器人的AccessToken,首先參照DingTalk文檔擷取自訂機器人的WebHook地址,並取出該地址中access_token參數的值進行填寫。訊息內容可以根據自己的需要進行填寫,同時可以選取右側動態內容中的某一個值,比如

DingTalk自訂機器人設定中需要選擇一種安全方式,否則無法正常發送訊息。您可以使用自訂關鍵詞方式,根據在通過自訂機器人發送訊息這個操作內填寫的訊息內容添加對應的關鍵字。比如,在本樣本中,因為訊息內容是“xxx 可以註冊啦!”,所以關鍵詞我們可以填寫為“註冊”,如下圖所示。

8. 最終我們編排好的完整工作流程如下圖所示。儲存工作流程。接下來,我們測試一下工作流程是否正常。

運行工作流程
在本樣本中,儲存工作流程後,該工作流程就會在每天9點的時候自動運行。我們也可以通過在工作流程編輯器工具列中單擊運行按鈕,手動觸發工作流程的運行。接下來,我們通過手工觸發的方式,驗證一下我們的編排是否正確。
1. 在編輯器工具列中單擊運行按鈕,開始運行工作流程。

2. 工作流程進入運行狀態,沒多久工作流程運行完成,可以看到每個步驟右上方都有一個綠色的對號,表示運行成功。

3. 單擊每一步均可以看到該步驟運行過程中的輸入和輸出,比如,單擊網域名稱服務 (DNS)_CheckDomain這個步驟,可以看到輸出結果的Avail值為1,表示該網域名稱可以註冊。

4. 接下來我們驗證一下在網域名稱可以註冊的情況下是否收到訊息,開啟DingTalk自訂機器人所在的DingTalk群,可以看到我們收到了一條訊息,訊息體內的DomainName自動替換為了我們檢查的網域名稱。

至此,您已經完成了一個完整工作流程的建立和使用過程。