问题标签 [dapr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
45 浏览

.net-core - Dapr 服务总线队列输出绑定无法将用户属性设置为

我正在试验 Dapr,看看我是否应该用 MS SDK 代替 Azure 资源。我正在试验的第一件事是将消息发送到 Azure 服务总线队列。

我需要设置服务总线消息的“Label”和“CorrelationId”属性。我已经尝试了一切,最终的消息queue没有我需要的任何属性。

await daprClient.InvokeBindingAsync("servicebus", "create", message, metadata);

只有time to live财产有效。如果可以设置消息的属性,我在任何地方的文档中都找不到。https://docs.dapr.io/reference/components-reference/supported-bindings/servicebusqueues/

在我看来,这是目前 Dapr 的一个巨大缺点。

0 投票
1 回答
51 浏览

dapr - Dapr API 中 HTTP 请求中的“v.1.0”是什么意思?

在 Dapr API 中,大多数 HTTP 请求的格式为http://localhost:<daprPort>/v1.0/....
“v1.0”是什么意思?我什么时候需要将其更改为另一个值?

0 投票
0 回答
43 浏览

microservices - 一个带有状态存储的 Dapr sidecar 可以在多个实例后面工作吗?

假设我有两个写入同一个数据库的相同服务实例。为了避免冲突,我有某种粘性会话,这样如果我开始使用实例#1,它将用于下一个请求。但是其他用户可以链接到实例#2。问题是我是否可以通过 Dapr 实现这一目标。我可以配置一个带有状态的 Dapr sidecar,例如 AWS Dynamo Db,它将平衡对实例 #1 和 #2 的传入请求并以某种方式保持用户会话?

0 投票
1 回答
331 浏览

docker-compose - 无法使用 gRPC 客户端连接到 Dapr(自托管)

我正在开发一个应用程序,该应用程序连接使用 Dapr(自托管)和 gRPC 客户端运行的应用程序。我使用 common.proto 和 runtime.proto。使用 DAPR CLI 时,我能够使连接正常工作。

但是当使用 DAPR 自托管实例时,使用 gRPC 端口时出现以下错误:

当我使用 dapr http 端口时

下面是 DAPR 服务器的 compose 文件

客户端代码如下:

我是否缺少设置或我的配置有任何问题?

0 投票
1 回答
177 浏览

envoyproxy - Envoyproxy 在 Docker-Compose 上的 DAPR 环境中不起作用

我正在使用 docker-compose 进行微服务应用程序的本地调试。我希望 ENVOY 作为应用程序网关,DAPR 作为微服务框架。我为将请求重定向到正确 dapr 微服务的侧卡容器创建 ENVOY 容器和 ENVOY-DAPR。

码头工人撰写:https ://github.com/andreatosato/DAPR-samples/blob/main/docker-compose.yml

Docker-Compose-Override:https ://github.com/andreatosato/DAPR-samples/blob/main/docker-compose.override.yml

当调用这个:http://localhost:10000/c/weather

我有这个回应:上游连接错误或在标头之前断开/重置。重置原因:连接失败

本项目为个人学习,大家可以下载试用。

0 投票
0 回答
98 浏览

docker-compose - 无法将消息从 dapr 发布 url 发布到 rabbitmq 交换

我可以将 dapr 中的交换类型从扇出更改为主题,如下所示的错误,如果是,我该怎么做!使用docker-compose,如果没有,还有什么选择。

我已经创建了一个交换,我需要使用相同的交换

异常 (406) 原因:“PRECONDITION_FAILED - vhost '/' 中交换 'orderService' 的不等效 arg 'type':收到 'fanout' 但当前是 'topic'”

0 投票
1 回答
332 浏览

dapr - 如何在 Dapr Pub/Sub 组件中以声明方式订阅多个主题?

Dapr 已经允许我们以声明方式订阅多个应用程序到一个主题

但是我们可以只使用一个subscription.yaml文件以声明方式为应用订阅多个主题吗?

就像是:

我知道如何以编程方式为应用程序订阅多个主题,但是“声明性方法从您的代码中删除了 Dapr 依赖项,并允许例如现有应用程序订阅主题,而无需更改代码¹这就是我想要的。

0 投票
1 回答
543 浏览

docker - 如何使用状态管理设置 dapr 和 docker compose

对 dapr 和 docker 来说非常新。

我跟着 dapr 开始。简单的 hello world 状态管理示例运行良好。是的布鲁斯,我们都知道你是蝙蝠侠。

所以接下来我为 .NET Core 构建了天气预报多容器示例。这很好用。(我将我的前端剃须刀页面命名为“wxui”,将后端 webapi 命名为“wxapi”)。

最后,我想尝试在天气预报示例中添加状态管理。我修改了前端 Razor Pages 应用程序来存储和检索一些状态,并在我的 docker-compose 文件中添加了一个 redis 容器。

事情进展不顺利。

wxui-dapr 容器正在退出并显示以下消息:

time="2021-05-20T22:47:50.3179068Z" level=fatal msg="process component statestore error: redis store: 在 localhost:6379 连接到 redis 时出错: dial tcp 127.0.0.1:6379: connect: connection denied" app_id=wxui instance=69254f9724b0 scope=dapr.runtime type=log ver=1.1.2

我猜测 dapr sidecar 容器没有将本地端口 6379 映射到 redis 容器。但我不知道如何测试或修复它。

这是我的 docker-compose.yml 文件,如果有用的话:

我可以根据需要(要求)提供其他日志或数据。

谁能帮我找出导致wxui-dapr容器退出的原因,以及如何解决它?谢谢!

0 投票
0 回答
59 浏览

dapr - dapr 自定义中间件@组件级

我们正在考虑将 dapr 用于带有 kafka 的 pub/sub 组件。当订阅的 kafka 主题出现消息时,我们需要进行一些自定义验证。我可以将该自定义验证编写为 dapr 中间件。但是 dapr doc 说中间件管道适用于所有 dapr api 端点,如状态、发布/订阅、绑定等。但我的中间件仅适用于发布/订阅。我可以只为发布/订阅组件配置中间件吗?如果不是,那么在 dapr 中还能如何做到这一点。

0 投票
0 回答
414 浏览

docker - Dapr golang Docker Compose - 运行“errorCode”:“ERR_DIRECT_INVOKE”,“message”:“invoke API is not ready”错误

我是第一次尝试 Dapr ......参考https://github.com/dapr/go-sdk上的 Dapr go sdk ......

...尝试在我的 Windows 10 机器上使用带有 Docker Compose 的 golang 托管 Dapr 服务 - 使用 VSCode - 并在连接到该服务时遇到问题。

我将 docker compose 文件设置为进行如下简单配置。并尝试使用 curl 通过 Dapr API 连接到服务

golang 服务(taskapi 服务)=> Dapr SideCar(taskapidapr)

我基于https://github.com/dapr/go-sdk/blob/main/example/Makefile中的示例,但使用 Docker Compose。

当我尝试使用连接连接到服务时

curl -d "ping" -H "内容类型:text/plain;charset=UTF-8" "http://localhost:8300/v1.0/invoke/taskapi/method/echo"

我遇到了以下错误。

{"errorCode":"ERR_DIRECT_INVOKE","message":"调用 API 未准备好"}

Docker 中的 Dapr 日志显示“没有要刷新的 mDNS 应用程序”。- 不知道这是否是它的原因以及如何处理它。

任何人都可以指出我所缺少的 - 非常感谢。

谢谢

  • 阿萨杜

golang 包

码头工人-compose.yml

Docker 容器列表

检查 Docker 中的网络显示容器在同一个网络中

Daprd 在日志中显示这些 mDNS 消息 - 不确定这是否是原因

time="2021-05-24T01:06:13.6629303Z" level=debug msg="刷新所有 mDNS 地址。" app_id=taskapi 实例=442e04c9e8a6 范围=dapr.contrib type=log ver=edge

time="2021-05-24T01:06:13.6630421Z" level=debug msg="没有要刷新的 mDNS 应用程序。" app_id=taskapi 实例=442e04c9e8a6 范围=dapr.contrib

此外,我看到预期端口上的容器......在 Docker 桌面上运行良好......

在此处输入图像描述

在此处输入图像描述