建立Asset compute專案

asset compute專案是使用Adobe I/OCLI產生的Node.js專案,須符合特定結構,以便部署至Adobe I/O Runtime並與AEM作為Cloud Service整合。 單一Asset compute專案可包含一或多個Asset compute背景工作,每個背景工作都有可從AEM作為Cloud Service處理設定檔參考的獨立HTTP端點。

產生專案

點進以產生Asset compute專案(無音訊)

使用Adobe I/OCLIAsset compute插件生成新的空Asset compute項目。

  1. 從命令列導覽至資料夾以包含專案。
  2. 從命令行中,執行aio app init以開始交互項目生成CLI。
  3. 選擇組織
    • 選取以AEM作為Cloud Service的「Adobe組織」,Project Firefly會以註冊
  4. 選取專案
    • 找到並選取專案。 這是從Firefly專案範本建立的專案標題,在此例中為WKND AEM Asset Compute
  5. 選取工作區
    • 選擇Development工作區
  6. 您要為此專案啟用哪些Adobe I/O應用程式功能?選擇要包括的元件
    • 選取 Actions: Deploy runtime actions
    • 使用箭頭鍵來選取和空格來取消選取/選取,並使用Enter確認選取
  7. 選取要產生的動作類型
    • 選取 Adobe Asset Compute Worker
    • 使用箭頭鍵進行選擇,使用空格鍵取消選擇/選擇,使用Enter確認選擇
  8. 您要如何命名此動作?
    • 使用預設名稱worker
    • 如果您的專案包含多個執行不同資產計算的背景工作,請在語義上為它們命名

產生console.json

開發人員工具需要名為console.json的檔案,該檔案包含連接到Adobe I/O所需的憑據。此檔案會從Adobe I/O主控台下載。

  1. 開啟Asset compute工作人員的Adobe I/O項目
  2. 選擇項目工作區以下載console.json憑據,在此情況下,請選擇Development
  3. 前往Adobe I/O專案的根目錄,點選右上角的​「下載全部」
  4. 下載的檔案為.json檔案,首碼為專案和工作區,例如:wkndAemAssetCompute-81368-Development.json
  5. 您可以
    • 將檔案更名為config.json,並將其移至Asset compute背景工作專案的根目錄中。 這是本教學課程中的方法。

    • 將其移入任意資料夾,並從配置項ASSET_COMPUTE_INTEGRATION_FILE_PATH.env檔案中引用該資料夾。 檔案路徑可以是絕對路徑,或相對於專案的根路徑。 例如:

      • ASSET_COMPUTE_INTEGRATION_FILE_PATH=/Users/example-user/secrets/wkndAemAssetCompute-81368-Development.json

      • ASSET_COMPUTE_INTEGRATION_FILE_PATH=../../secrets/wkndAemAssetCompute-81368-Development.json.json

注意
檔案包含憑據。 如果將檔案儲存在專案中,請務必將其新增至.gitignore檔案,以防止共用。 .env檔案亦同 — 這些憑據檔案不得共用或儲存在Git中。

檢視專案的結構

產生的Asset compute專案是Node.js專案,可作為專用的Adobe專案Firefly專案使用。 下列結構元素對Asset compute專案而言屬特殊:

  • /actions 包含子資料夾,每個子資料夾定義一個Asset compute工作。
    • /actions/<worker-name>/index.js 定義用於執行此工作人員的JavaScript。
      • 資料夾名稱worker為預設值,只要它已在manifest.yml中註冊,就可以是任何值。
      • 根據需要,可在/actions下定義多個工作資料夾,但必須在manifest.yml中註冊。
  • /test/asset-compute 包含每個工作人員的測試套裝。與/actions資料夾類似, /test/asset-compute可以包含多個子資料夾,每個子資料夾都與它所測試的工作器相對應。
    • /test/asset-compute/worker,代表特定工作人員的測試套裝,包含代表特定測試案例的子資料夾,以及測試輸入、參數和預期輸出。
  • /build 包含Asset compute測試案例執行的輸出、日誌和對象。
  • /manifest.yml 定義專案提供的Asset compute背景工作。必須在此檔案中列舉每個背景工作實施,才能將其作為Cloud Service供AEM使用。
  • /console.json 定義Adobe I/O配置
    • 可使用aio app use命令生成/更新此檔案。
  • /.aio 包含aio CLI工具使用的配置。
    • 可使用aio app use命令生成/更新此檔案。
  • /.env 會以語法定義環 key=value 境變數,並包含不應共用的機密。為保護這些機密,不應將此檔案簽入Git,並透過專案的預設.gitignore檔案忽略。
    • 可使用aio app use命令生成/更新此檔案。
    • 在此檔案中定義的變數可由命令列上的匯出變數覆寫。

如需專案結構檢閱的詳細資訊,請檢閱AdobeProject Firefly專案的解剖

開發的大部分發生在開發工作實施的/actions資料夾中,以及為自訂Asset compute工作進行寫入測試的/test/asset-compute中。

asset computeGitHub專案

最終Asset compute專案可在GitHub取得,網址為:

GitHub包含專案的最終狀態,已完全填入背景工作和測試案例,但不包含任何憑證,即 .envconsole.json .aio

本頁內容