[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

安裝Adobe Commerce套件

適用於Commerce的AEM Assets整合擴充功能(aem-assets-integration)可啟用Adobe Commerce與Adobe Experience Manager Assets之間的資產同步。 擴充功能提供一套工具和服務,用於管理兩個平台上的資產,包括產品影像、影片和其他媒體資產。

安裝aem-assets-integration PHP擴充功能,將此擴充功能新增至Commerce環境。 您也需要啟用適用於Commerce的Adobe I/O Events,並產生Adobe Commerce和Adobe Experience Manager Assets之間通訊和工作流程所需的認證。

系統需求

適用於Commerce的AEM Assets整合擴充功能具有下列系統和設定需求。

軟體需求

  • Adobe Commerce 2.4.5+
  • PHP版本與已安裝的Adobe Commerce版本8.1、8.2、8.3或8.4相容)
  • Composer: 2.x

存取需求

您需要下列角色和許可權才能設定整合。

TIP
Adobe Commerce可設定為使用Adobe IMS驗證

安裝和設定工作流程

安裝Adobe Commerce套件,並完成下列作業準備Commerce環境:

  1. 安裝Commerce擴充功能的AEM Assets整合(aem-assets-integration)
  2. 設定Commerce Services聯結器,以連線您的Adobe Commerce執行個體,並使用可在Adobe Commerce和AEM Assets之間傳輸資料的服務。
  3. 設定適用於Commerce的Adobe I/O Events
  4. 取得API存取的驗證認證

安裝aem-assets-integration擴充功能

在具有AEM Assets 2.4.5+版本的Adobe Commerce執行個體上安裝最新版本的Adobe Commerce整合擴充功能(aem-assets-integration)。 AEM資產整合是以Composer中繼資料的形式從repo.magento.com存放庫提供。

雲端基礎結構

使用此方法來安裝Commerce Cloud執行個體的AEM Assets Integration延伸模組。

  1. 在本機工作站上,變更至雲端基礎結構專案上Adobe Commerce的專案目錄。

    note note
    NOTE
    如需有關在本機管理Commerce專案環境的資訊,請參閱《雲端基礎結構使用手冊》中​_Adobe Commerce的使用CLI管理分支_。
  2. 檢視環境分支,以使用Adobe Commerce Cloud CLI進行更新。

    code language-shell
    magento-cloud environment:checkout <environment-id>
    
  3. 新增Commerce擴充功能的AEM Assets整合。

    code language-shell
    composer require "magento/aem-assets-integration" "<version-tbd>" --no-update
    
  4. 更新套件相依性。

    code language-shell
    composer update "magento/aem-assets-integration"
    
  5. 認可並推播對composer.jsoncomposer.lock檔案的程式碼變更。

  6. 新增、認可並將composer.jsoncomposer.lock檔案的程式碼變更推播到雲端環境。

    code language-shell
    git add -A
    git commit -m "Install AEM Assets Integration extension for Adobe Commerce"
    git push origin <branch-name>
    

    推送更新會啟動Commerce雲端部署程式以套用變更。 從部署記錄檢查部署狀態。

內部部署

使用此方法來安裝內部部署執行個體的AEM Assets Integration延伸模組。

  1. 使用Composer將適用於Commerce的AEM Assets整合擴充功能新增至您的專案:

    code language-shell
    composer require "magento/aem-assets-integration" --no-update
    
  2. 更新相依性並安裝擴充功能:

    code language-shell
    composer update  "magento/aem-assets-integration"
    
  3. 升級Adobe Commerce:

    code language-shell
    bin/magento setup:upgrade
    
  4. 清除快取:

    code language-shell
    bin/magento cache:clean
    
note tip
TIP
部署到生產環境時,請考慮不清除已編譯的程式碼以節省時間。 進行變更前,請務必備份您的系統。

設定Commerce服務聯結器

NOTE
Commerce服務聯結器設定是使用Adobe Commerce SaaS服務所需的一次性程式。 如果您已設定其他服務的聯結器,您可以選取「Systems > Services > Commerce Services Connector」,從Commerce管理員檢視現有設定。

若要在您的Adobe Commerce執行個體與啟用AEM Assets整合的服務之間傳輸資料,請從管理員(System > Services > Commerce Services Connector)設定Commerce服務聯結器。

AEM Assets整合的SaaS專案與資料空間ID {width="600" modal="regular"}ed

在設定中提供下列值

  • 用於驗證的生產和沙箱API金鑰
  • 安全雲端儲存空間的資料空間名稱(SaaS識別碼)
  • 布建Commerce和AEM Assets環境的IMS組織ID

如需詳細指示,請觀看Commerce Services Connector設定影片,請參閱Commerce Services Connector檔案。

儲存組態時,系統會為您的環境產生SaaS專案和資料庫ID。 若要在Adobe Commerce和AEM Assets之間啟用資產同步,需使用這些值。

設定適用於Commerce的Adobe I/O Events

AEM Assets整合使用Adobe I/O Events服務在Commerce執行個體和Experience Cloud之間傳送自訂事件資料。 事件資料可用來協調AEM Assets整合的工作流程。

設定Adobe I/O Events之前,請先確認Commerce專案的RabbitMQ和cron工作設定:

  • 確保RabbitMQ已啟用且正在監聽事件。

NOTE
針對Commerce 2.4.5版上的專案,您必須安裝Adobe I/O模組。 在Commerce 2.4.6+版中,這些模組會自動載入。 針對Commerce的AEM Assets整合,您只需要安裝模組。 不需要App Builder設定。

啟用Commerce事件架構

從Commerce管理員啟用事件架構。

NOTE
只有當您打算使用自訂比對策略,在App Builder和Commerce之間同步資產時,才需要AEM Assets設定。
  1. 從Admin移至​ Stores > Settings > Configuration > Adobe Services > Adobe I/O Events

  2. 展開​ Commerce events

  3. 將​ Enabled ​設為Yes

    Adobe I/O Events Commerce管理設定 — 啟用Commerce事件 {width="600" modal="regular"}

  4. 在​ Merchant ID ​中輸入商家公司名稱,並在​ Environment ID ​欄位中輸入環境名稱。 設定這些值時,只能使用英數字元和底線。

recommendation-more-help

設定自訂VCL以封鎖要求

如果您使用自訂VCL程式碼片段來封鎖未知的傳入要求,您可能需要包含HTTP標頭X-Ims-Org-Idheader,以允許來自Commerce服務的AEM Assets整合的傳入連線。

TIP
您可以使用Fastly CDN模組來建立Edge ACL,其中包含您要封鎖的IP位址清單。

下列自訂VCL程式碼片段程式碼(JSON格式)顯示X-Ims-Org-Id要求標頭的範例。

{
  "name": "blockbyuseragent",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ( req.http.X-ims-org ~ \"<YOUR-IMS-ORG>\" ) {error 405 \"Not allowed\";}"
}

根據此範例建立程式碼片段之前,請檢閱值以判斷是否需要進行任何變更:

  • name: VCL程式碼片段的名稱。 此範例使用名稱blockbyuseragent

  • dynamic:設定程式碼片段版本。 此範例使用0。 如需詳細的資料模型資訊,請參閱Fastly VCL程式碼片段

  • type:指定VCL程式碼片段的型別,這會決定程式碼片段在產生的VCL程式碼中的位置。 此範例使用recv。 如需程式碼片段型別的清單,請參閱Fastly VCL程式碼片段參考

  • priority:決定VCL程式碼片段何時執行。 此範例使用優先順序5立即執行,並檢查管理員要求是否來自允許的IP位址。

  • content:要執行的VCL程式碼片段,會檢查使用者端IP位址。 如果IP位在Edge ACL中,則會封鎖整個網站的存取權,並產生405 Not allowed錯誤。 允許存取所有其他使用者端IP位址。

如需使用VCL片段封鎖傳入要求的詳細資訊,請參閱​ 雲端基礎結構上的Commerce ​中的封鎖要求的自訂VCL

取得API存取的驗證認證

Commerce的AEM Assets整合需要OAuth驗證認證,才能允許API存取Commerce執行個體。 使用AEM Assets整合管理資產時,需要這些憑證才能驗證API請求。

您可以將整合新增至Commerce執行個體並加以啟用,以產生憑證。

將整合新增至Commerce環境

  1. 從Admin,移至​ 系統 >擴充功能> 整合,然後按一下​ 新增整合

  2. 輸入整合的相關資訊。

    在​ 一般 ​區段中,僅指定整合​ 名稱 ​和​ 電子郵件。 Adobe IMS帳戶使用此電子郵件,其可存取部署Commerce和Experience Manager Assets的組織。

    適用於Commerce管理員設定的 AEM Assets整合 {width="600" modal="regular"}

  3. 按一下​ 確認身分 ​以驗證您的身分。

    系統會使用您的Adobe ID向Experience Cloud進行驗證,以驗證您的身分。

  4. 設定API資源。

    1. 從左側面板,按一下​ API

    2. 選取外部媒體資源​ Catalog > Inventory > Products > External Media

      API資源的 管理員整合設定 {width="600" modal="regular"}

  5. 按一下​ Save

產生OAuth認證

在整合頁面上,按一下Assets整合的​ 啟動 ​以產生OAuth驗證認證。 您需要這些憑證才能透過Assets規則引擎服務註冊Commerce專案,以及提交API請求來管理Adobe Commerce與AEM Assets之間的資產。

  1. 在整合頁面中,按一下​ Activate ​產生認證。

    啟動Assets整合的Commerce設定 {width="600" modal="regular"}

  2. 如果您打算使用API,請儲存消費者金鑰的認證和存取Token ,以在API使用者端中設定驗證。

    驗證API要求的OAuth認證 {width="600" modal="regular"}

  3. 按一下​ Done

NOTE
您也可以使用Adobe Commerce API產生驗證認證。 如需此程式的詳細資訊,以及Adobe Commerce的OAuth型驗證詳細資訊,請參閱Adobe Developer檔案中的OAuth型驗證

下一步

連線Adobe Commerce和AEM Assets專案環境,並選取同步資產的相符策略

2b0136b4-ef75-405f-9734-60d741f198de