bimbus/mq-client-akeneo

一个简单的发布/订阅消息队列客户端,用于发布Akeneo产品变更

v1.0.0 2018-05-03 09:29 UTC

This package is not auto-updated.

Last update: 2024-09-20 23:14:16 UTC


README

Akeneo PIM的消息队列包

原理

此简单包允许每次修改产品时向Google Cloud Pub/Sub主题发送一条消息。

用例

与从ESB编排的其他服务结合使用,这允许异步处理变更(例如BLOB)并将它们推回到PIM或任何其他应用程序(目录等)

我们在BIM环境中使用它来解析ArchiCAD 3D .gsm模型文件,并将PIM数据注入以生成最新的3D家具库版本。

安装

从您的PIM项目根文件夹,克隆仓库

git clone https://github.com/bimbus/mq-client-akeneo src/Bimbus

然后添加所需的依赖项

composer require google/cloud-pubsub

编辑app/AppKernel.php文件以反映此更改

    protected function registerProjectBundles()
    {
        return [
          new Bimbus\Bundle\MQBundle\BimbusMQBundle(),
        ];
    }

清除您的缓存

bin/console cache:clear --env=prod

Google Cloud Pub/Sub

选择或创建项目。如果是创建项目,请激活Pub/sub API。

创建服务帐户

  • 选择IAM & admin > Service accounts菜单项,然后单击CREATE SERVICE ACCOUNT
  • 输入新服务帐户的名称(例如,akeneo-mq)并勾选Furnish a new private key复选框。
  • 单击“CREATE”,JSON凭据文件应自动下载。
  • 将下载的文件重命名为gcp-credentials.json并将其放入src/Bimbus/config文件夹。

创建主题

  • 转到Pub/Sub > Topics菜单,然后单击CREATE TOPIC
  • 在下一屏幕上,选择新创建的主题。
  • 然后,输入您刚刚创建的新服务帐户名称,并授予它“Pub/Sub Publisher”角色。

创建订阅

  • 返回到Pub/Sub > Topics菜单。
  • 单击创建主题行末端的按钮,然后选择New subscription
  • 输入名称并单击创建。

包配置

  • 进入src/Bimbus/Bundle/MQBundle/Resources/config/文件夹。
  • parameters.yml.dist复制到parameters.yml
  • 编辑parameters.yml文件,填写gcp.pubsub.projectgcp.pubsub.topic密钥
parameters:
    gcp.pubsub.project: '<<gcp-project-id>>'
    gcp.pubsub.topic: '<<last-part-of-topic>>'
    gcp.pubsub.credentials: '%kernel.project_dir%/src/Bimbus/config/gcp-credentials.json'

测试一切

  • 打开Akeneo UI并编辑产品,以检查保存是否正常工作。
  • 使用gcloud CLI检查消息是否已推送到主题
gcloud config set project <<gcp-project-id>>
gcloud pubsub subscriptions pull <<subscription-name>>