[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
安装Adobe Commerce包
Commerce的这一集成支持在Adobe Commerce和Adobe Experience Manager Assets (AEM Assets)之间同步资源。 扩展提供了一系列工具和服务,用于跨两个平台管理产品图像、视频和其他媒体资产。
通过安装aem-assets-integration
PHP扩展将此扩展添加到Commerce环境中。 您还需要启用适用于Commerce的Adobe I/O Events,并生成Adobe Commerce与Adobe Experience Manager Assets之间的通信和工作流程所需的凭据。
访问要求
您需要以下角色和权限来启用Commerce与AEM Assets的集成。
-
Commerce cloud项目管理员 — 安装所需的扩展,并通过管理员或命令行配置Commerce应用程序服务器。
-
访问repo.magento.com以安装扩展。
有关密钥生成和获取必要的权限,请参阅获取您的身份验证密钥。 有关云安装,请参阅云基础架构上的Commerce指南
-
-
Commerce管理员 — 更新商店配置并管理Commerce用户帐户。
安装和配置工作流
安装Adobe Commerce包,并通过完成以下任务来准备Commerce环境:
-
配置Commerce Services Connector,以连接您的Adobe Commerce实例,并使用支持在Adobe Commerce和AEM Assets之间传输数据的服务。
安装aem-assets-integration
扩展
在版本为Adobe Commerce 2.4.5+的AEM Assets实例上安装最新版本的Adobe Commerce集成扩展(aem-assets-integration
)。 该扩展是作为repo.magento.com存储库中的编辑器中继包提供的。
使用此方法在Commerce Cloud实例上安装AEM Assets Integration扩展。
-
在本地工作站上,转到云基础架构项目上Adobe Commerce的项目目录。
note note NOTE 有关在本地管理Commerce项目环境的信息,请参阅《云基础架构用户指南》上的Adobe Commerce中的_使用CLI管理分支_。 -
查看要使用Adobe Commerce Cloud CLI更新的环境分支。
code language-shell magento-cloud environment:checkout <environment-id>
-
添加适用于Commerce的AEM Assets集成扩展。
code language-shell composer require "magento/aem-assets-integration" "<version-tbd>" --no-update
-
更新包依赖关系。
code language-shell composer update "magento/aem-assets-integration"
-
提交和推送
composer.json
和composer.lock
文件的代码更改。 -
添加、提交并将
composer.json
和composer.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扩展。
-
使用编辑器将AEM Assets Integration for Commerce扩展添加到您的项目中:
code language-shell composer require "magento/aem-assets-integration" --no-update
-
更新依赖项并安装扩展:
code language-shell composer update "magento/aem-assets-integration"
-
升级Adobe Commerce:
code language-shell bin/magento setup:upgrade
-
清除缓存:
code language-shell bin/magento cache:clean
note tip |
---|
TIP |
部署到生产环境时,请考虑不清除编译的代码以节省时间。 在进行更改之前请始终备份系统。 |
配置Commerce服务连接器
要在您的Adobe Commerce实例与启用AEM Assets集成的服务之间传输数据,请从管理员(System > Services > Commerce Services Connector)配置Commerce服务连接器。
AEM Assets集成的
在配置中提供以下值
- 用于身份验证的生产和沙盒API密钥
- 安全云存储的数据空间名称(SaaS标识符)
- 配置Commerce和AEM Assets环境的IMS组织ID
有关详细说明,请观看Commerce服务连接器配置视频,共Commerce服务连接器文档。
在保存配置时,系统会为您的环境生成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并侦听事件。
- 本地Adobe Commerce的RabbitMQ设置
- 云基础架构上Adobe Commerce的RabbitMQ设置
- 验证是否已启用cron作业。 AEM Assets集成的通信和工作流需要Cron作业。
启用Commerce事件框架
从Commerce管理员中启用事件框架。
-
从管理员转到 Stores > Settings > Configuration > Adobe Services > Adobe I/O Events。
-
展开 Commerce events。
-
将 Enabled 设置为
Yes
。 -
在 Merchant ID 字段中输入商家公司名称,在 Environment ID 字段中输入环境名称。 设置这些值时只能使用字母数字字符和下划线。
配置自定义VCL以阻止请求
如果使用自定义VCL代码片段阻止未知传入请求,则可能需要包含HTTP标头X-Ims-Org-Idheader
,以允许来自Commerce的AEM Assets集成的传入连接。
以下自定义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 on Cloud Infrastructure指南中的 用于阻止请求的自定义VCL。
获取API访问的身份验证凭据
适用于Commerce的AEM Assets集成需要OAuth身份验证凭据,才能允许通过API访问Commerce实例。 使用AEM Assets集成管理资源时,需要这些凭据来验证API请求。
通过将集成添加到Commerce实例并激活它,可生成凭据。
将集成添加到Commerce环境
-
从管理员中,转到 系统 >扩展> 集成,然后单击 添加新集成。
-
输入有关集成的信息。
在 常规 部分中,仅指定集成 名称 和 电子邮件。 为有权访问部署Commerce和Experience Manager Assets的组织的Adobe IMS帐户使用电子邮件。
适用于Commerce管理员配置的
-
单击 确认身份 以验证您的身份。
系统会使用您的Adobe ID向Experience Cloud进行身份验证,以验证您的身份。
-
配置API资源。
-
从左侧面板中,单击 API。
-
选择外部媒体资源 Catalog > Inventory > Products > External Media。
API资源的
-
-
单击 Save。
生成OAuth凭据
在“集成”页面上,通过单击Assets集成的 激活 来生成OAuth身份验证凭据。 您需要这些凭据才能在Assets规则引擎服务中注册Commerce项目,并提交API请求以管理Adobe Commerce和AEM Assets之间的资源。
-
在“集成”页面中,单击 Activate 以生成凭据。
为Assets集成
-
如果您计划使用API,请保存使用者密钥的凭据并访问令牌,以在API客户端中配置身份验证。
-
单击 Done。