bimbus / mq-client-akeneo
一个简单的发布/订阅消息队列客户端,用于发布Akeneo产品变更
v1.0.0
2018-05-03 09:29 UTC
Requires
- google/cloud-pubsub: v1.1
Requires (Dev)
- phpunit/phpunit: 6.0
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.project和gcp.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并编辑产品,以检查保存是否正常工作。
- 使用
gcloudCLI检查消息是否已推送到主题
gcloud config set project <<gcp-project-id>> gcloud pubsub subscriptions pull <<subscription-name>>