发布和订阅
通过 Dapr,您可以发布各种类型的内容,包括云事件。SDK 提供了一个简单的云事件实现,您也可以传递符合云事件规范的数组或使用其他库。
<?php
$app->post('/publish', function(\Dapr\Client\DaprClient $daprClient) {
$daprClient->publishEvent(pubsubName: 'pubsub', topicName: 'my-topic', data: ['something' => 'happened']);
});
有关发布/订阅的更多信息,请查看操作指南。
数据的内容类型
PHP SDK 允许您在构建自定义云事件或发布原始数据时设置数据的内容类型。
<?php
$event = new \Dapr\PubSub\CloudEvent();
$event->data = $xml;
$event->data_content_type = 'application/xml';
<?php
/**
* @var \Dapr\Client\DaprClient $daprClient
*/
$daprClient->publishEvent(pubsubName: 'pubsub', topicName: 'my-topic', data: $raw_data, contentType: 'application/octet-stream');
二进制数据
对于二进制数据,仅支持 <code>application/octet-stream</code>。
接收云事件
在您的订阅处理程序中,您可以让 DI 容器将 Dapr\PubSub\CloudEvent
或 array
注入到您的控制器中。使用 Dapr\PubSub\CloudEvent
时,会进行一些验证以确保事件的正确性。如果您需要直接访问数据,或者事件不符合规范,请使用 array
。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.