Code Engine

IBM Cloud Code Engine 是一個完全受管理的無伺服器平台,可執行您的容器化工作負載,包括網頁應用程式、微服務、事件驅動函式或批次作業。Code Engine 代表服務目的地,可在此以程式化方式消耗傳入的通知。 例如,有關事件的傳入通知可觸發 Code Engine 目的地至後端微服務,以根據傳入通知的內容採取行動。

配置 Code Engine 目的地

在您將 Code Engine 設定為 run type Job 的目的地之前,請確定您的 Code Engine 專案 建立並配置工作 與您的 Event Notifications 實例位於同一帳戶。

如果有 run type Job,如果您使用 Event Notifications CLI 或 API 將 Code Engine job 設定為目的地,請協助確保您已啟用授權以授予服務間的存取權。 如需相關資訊,請參閱使用授權來授與服務之間的存取權

若要設定「Code Engine」目的地,請完成以下步驟:

  1. 在您的 Event Notifications 實例中,請按一下「目的地」。

  2. 按一下「建立」以新增一個目的地。

  3. 請在「建立目的地」對話方塊中輸入以下目的地詳細資料:

    • 名稱:請輸入目的地的名稱。
    • 說明:若需為目的地輸入說明,請在此處填寫。
    • 類型:在「目的地」下,請從清單中選擇 Code Engine 清單中的選項作為您的目的地類型。
    • 執行類型:請從「Code Engine」工作或 Code Engine 應用程式。

    若選取的執行類型為「工作」,請提供以下詳細資訊:

    • 專案名稱:請從清單中選取「Code Engine」專案名稱。 否則,請按一下「建立新專案」以建立一個 Code Engine 專案。

      當您選取一個「Code Engine」專案時,若兩者之間尚未建立授權關係,系統會於兩個服務實例之間內部建立此授權關係。

    • 工作名稱:請從清單中選取工作名稱。

    若選取的執行類型為「應用程式」,請提供以下詳細資訊:

    • URL: 請登入 Code Engine 應用程式,網址為 URL (僅限 HTTPS )。
    • 動詞:選擇要呼叫的動詞(GET 或 POST)。
    • 標頭:可選擇輸入一組要傳遞給 Code Engine 應用程式的標頭清單。
  4. 點擊「建立目的地」。

Event Notifications 現在支援 Code Engine 函式。

使用授權來授與服務之間的存取權

使用 IBM Cloud® Identity and Access Management (IAM) 來建立或移除將一個服務存取權授與另一個服務的授權。

在控制台中建立授權

  1. 在 IBM Cloud 主控台中,按一下 管理 > 存取權 (IAM),然後選取 授權

  2. 按一下建立

  3. 選取來源帳戶。

    • 如果需要存取目標服務的來源服務位於此帳戶中,請選取 此帳戶
  4. 選擇**來源服務,例如 **Event Notifications.

  5. 指定您是否要根據選取的屬性對所有資源或資源進行授權。 如果您已根據選取的屬性選擇「資源」,請指定 新增屬性: 僅來源資源群組或僅來源服務實例。

  6. 選取 目標服務 作為 Code Engine

  7. 針對目標服務,指定您是要授權給所有專案、只授權給帳戶中的特定專案,還是只授權給特定資源群組中的專案。

  8. 同時選取角色 (檢視者和撰寫者),以指派存取目標服務之來源服務的存取權。

    如果您在服務對服務授權期間只選擇了這兩個角色(讀取者或寫入者)中的一個,則無法觸發工作或設定目的地。 在這些情況下,您會收到服務對服務授權失敗的錯誤。 確保您在服務之間重新建立授權,並選擇兩個角色。

  9. 按一下授權

使用 CLI 建立授權

若要授權來源服務存取目標服務,請執行 ibmcloud iam authorization-policy-create 指令。

如需此指令可用的所有參數的相關資訊,請參閱 ibmcloud iam authorization-policy-create

存取 Code Engine 工作中的事件有效負載

事件有效負載已透過使用環境變數傳送到 Code Engine job,可使用 ibmendata 環境變數擷取。

測試 Code Engine 目的地配置

您可以在目的地旁邊的選項選單中,測試「Code Engine」目的地。 您只需點擊一下,即可測試所提供的設定是否正確。

如需測試目的地的詳細資訊,請參閱 測試 目的地。

Code Engine 重試原則

向 Code Engine 傳送通知時,網路錯誤和應用程式故障等問題可能會導致請求失敗。Event Notifications 會自動重試失敗的請求,以提供彈性。

如需重試行為的詳細資訊,包括重試嘗試、延遲和逾時值,請參閱 目的地的重試政策