日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過函數計算節點發送郵件

本文為您介紹如何在DataWorks中通過函數計算節點調用函數計算服務,并實現發送郵件功能。

背景介紹

DataWorks當前已經支持通過函數計算節點調用函數計算服務,在函數計算服務中可以自定義各種功能,最終可通過DataWorks進行調用。

前提條件

使用限制

  • 功能限制

    DataWorks目前僅支持調用事件函數,不支持調用HTTP函數。因此,若要在DataWorks周期性調度處理事件函數,則在創建函數時,需要創建用于處理事件請求的事件函數。更多函數類型介紹,詳情請參見函數類型

  • 地域限制

    DataWorks目前僅支持華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華南1(深圳)、西南1(成都)、中國香港、新加坡、馬來西亞(吉隆坡)、印度尼西亞(雅加達)、德國(法蘭克福)、英國(倫敦)、美國(硅谷)、美國(弗吉尼亞)地域的工作空間使用函數計算功能。

步驟一:創建函數

  1. 登錄函數計算控制臺,在頂部導航欄切換至目標地域。

  2. 在左側導航欄,單擊函數

  3. 函數頁面單擊創建函數

  4. 選擇事件函數并配置函數信息。

    image

    參數

    描述

    函數名稱

    輸入函數名稱。本文示例為:send-mail-fc

    運行環境

    本文使用Python 3.9

    代碼上傳方式

    本文選擇使用示例代碼并使用Hello, world! 示例

    高級配置環境變量可根據實際情況進行設置。詳情可參見創建函數

  5. 單擊創建,完成函數創建,進入函數詳情的代碼頁面。

    image

  6. 編輯index.py,輸入業務邏輯代碼。本文以發送郵件為例,代碼如下:

    重要
    • 以下示例代碼中的mail_hostmail_portmail_usernamemail_passwordmail_sendermail_receivers參數請根據實際情況設置。

    • 電子郵件的賬號必須開啟SMTP服務。某些電子郵件服務提供商默認未開啟,需自行檢查并開啟。例如:163郵箱默認就未開啟SMTP服務。

    • 某些電子郵件服務提供商基于安全原因,可能會使用一種類似授權碼的專用密碼,用于三方郵件客戶端進行登錄。這時mail_password需設置為授權碼而不是賬號密碼。例如:163郵箱就存在授權碼,且三方登錄時必須使用授權碼來作為密碼登錄。

    # -*- coding: utf-8 -*-
    import logging
    import json
    import smtplib
    from email.mime.text import MIMEText
    
    def handler(event, context):
      evts = json.loads(event)
    
      logger = logging.getLogger()
      logger.info('event: %s', evts)
      mail_host = 'smtp.163.com'                 ## 郵箱服務地址
      mail_port = '465';                         ## 郵箱smtp協議端口號
      mail_username = 'sender_****@163.com'      ## 登錄用戶名
      mail_password = 'EWEL******KRU'            ## 登錄用戶密碼
      mail_sender = 'sender_****@163.com'        ## 發件人郵箱地址
      mail_receivers = ['receiver_****@163.com'] ## 收件人郵箱地址
    
      mail_content=generate_mail_content(evts)
      message = MIMEText(mail_content,'plain','utf-8')
      message['Subject'] = 'mail test'
      message['From'] = mail_sender
      message['To'] = mail_receivers[0]
      smtpObj = smtplib.SMTP_SSL(mail_host + ':' + mail_port)
      smtpObj.login(mail_username,mail_password)
      smtpObj.sendmail(mail_sender,mail_receivers,message.as_string())
      smtpObj.quit()
      return 'mail send success'
    
    def generate_mail_content(evt):
      mail_content=''
      if 'msg' in evt.keys():
          mail_content=evt['msg']
      else:
          logger = logging.getLogger()
          logger.error('msg not present in event')
      '''
      此處可增加處理郵件內容讀取邏輯
      '''
      return mail_content
  7. 單擊部署代碼按鈕。

  8. 單擊測試函數右側下拉箭頭image,在彈出的菜單中單擊配置測試參數,輸入測試參數后單擊確定按鈕。

    image.png

    事件內容輸入:

    {
        "msg": "This is a test message"
    }
  9. 單擊測試函數即可完成測試。

    image

  10. 檢查收件人的郵箱中是否收到郵件。

    說明

    某些電子郵件服務器可能會將未知發件人識別為垃圾郵件從而進行攔截,因此若您未在收件箱中找到測試郵件,則需到垃圾郵件中進行查找。

步驟二:在DataWorks中創建并配置函數計算節點

  1. 登錄DataWorks控制臺

  2. 單擊左側導航欄中的工作空間。進入工作空間列表頁面。

  3. 將頁面頂部導航欄的地域列表切換為步驟一:創建函數中指定的地域。

  4. 工作空間列表中單擊目標工作空間名稱,進入工作空間詳情頁面。若您在當前地域下無工作空間,則需創建一個工作空間,詳情可參見創建工作空間

  5. 單擊左側導航欄中的數據建模與開發下的數據開發,進入DataWorks數據開發頁面。

  6. 單擊目標業務流程名稱,在業務流程中,右擊通用,選擇新建節點 > 函數計算。在創建節點彈出框中輸入節點名稱并單擊確定按鈕,完成函數計算節點的創建。image.png

  7. 設置函數計算節點參數。

    參數

    描述

    選擇版本或別名

    選擇后續調用函數時所使用的服務版本或別名。默認版本為LATEST。本文選擇默認版本

    • 服務版本

      函數計算提供服務級別的版本控制功能,支持您為自己的服務發布一個或多個版本。當發布版本時,函數計算會為服務生成快照,包括服務的配置、服務內的函數代碼及函數配置,但不包括觸發器,并自動分配一個版本號與其關聯,以供后續使用。發布版本,詳情請參見發布版本

    • 版本別名

      函數計算支持為服務的版本創建別名。別名用于指向特定版本,您可利用別名輕松實現發布、回滾以及灰度發布等功能。別名無法脫離服務或版本單獨存在。使用別名訪問服務或函數時,函數計算會將別名解析為其指向的版本,調用方無需了解別名指向的具體版本。創建別名,詳情請參見創建別名

    選擇函數

    選擇步驟一:創建函數中創建的函數。本文為:send-mail-fc。如需新建,詳情請參見管理函數

    說明

    DataWorks目前僅支持調用事件函數,不支持調用HTTP函數。因此,若要在DataWorks周期性調度處理事件函數,則在創建函數時,需要創建用于處理事件請求的事件函數。更多函數類型介紹,詳情請參見函數類型

    調用方式

    本文選擇同步。調用方式詳情可參見函數調用

    • 同步調用:該方式事件將直接觸發函數,函數計算會運行該函數并等待響應,當函數調用完成后,函數計算直接返回執行結果。

    • 異步調用:該方式函數計算會將事件請求先持久化后再立即返回響應,而不是等待請求執行完成后才返回響應。

      • 若函數存在耗時較長、資源消耗較大或易錯邏輯,可采用異步調用,提升程序響應速度,更加可靠地應對突發流量。

      • 運行時長超過1小時的函數計算任務,請使用異步調用。

    變量

    調用函數的參數。本文示例如下:

    {
        "msg": "This is a test message from dataworks!"
    }
  8. 可選:調試運行函數計算節點。節點配置完成后,您可單擊運行圖標,指定任務運行的資源組并為代碼變量賦值常量進行調試運行,測試節點代碼邏輯是否正確。

  9. 配置節點的周期調度屬性。DataWorks提供的調度參數,可實現調度場景下代碼動態傳參。更多調度參數的配置,請參見調度參數支持的格式。更多調度屬性,請參見任務調度屬性配置概述

步驟三:提交并發布節點

函數計算節點需要提交發布至生產環境后,才會自動調度運行。

  1. 保存并提交節點。

    單擊工具欄中的保存提交圖標,保存并提交節點。提交節點時,請根據提示輸入變更描述,并根據需要選擇是否進行代碼評審及冒煙測試。

    說明
    • 您需在調度配置中設置節點的重跑屬性依賴的上游節點,才可以提交節點。

    • 開啟代碼評審后,開發人員提交的節點代碼必須通過評審人員的審核才可發布,詳情請參見代碼評審

    • 為保障調度節點任務執行符合預期,建議您在發布前對任務進行冒煙測試,詳情請參見冒煙測試

  2. 可選:發布節點。

    如果您使用的是標準模式的工作空間,提交成功后,需單擊右上方的發布,發布節點。相關介紹請參見標準模式的工作空間發布任務

后續步驟

相關文檔

函數計算節點