问题标签 [client-library]
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.
php - dialogflow 使用 php 客户端库更新意图训练短语
我正在使用 dialogflow php 客户端库来访问 dialogflow 的 v2 rest api。我可以调用detectIntent 和其他东西,它正在工作。但有时我需要搜索特定的训练短语,如果不存在,则为检测到的意图添加新的训练短语。我怎么能使用 php 客户端库来做到这一点?我厌倦了寻找这个。请帮我。任何答案将不胜感激。我用来获取一些文本的函数如下,
c# - 如何安装 C# 客户端库,尤其是 Google Cloud Text to Speech?
我正在尝试在 Unity 应用程序中使用 Google Cloud 服务,例如 Text-To-Speech。在快速入门页面上,我完成了“开始之前”的内容。但是,我不能“安装客户端库”。提供的行是:
安装包 Google.Cloud.TextToSpeech.V1 -Pre
但是,当我将其放入终端时,它显示“'Install-Package' 未被识别为内部或外部命令、可运行程序或批处理文件。”
我也尝试使用 Powershell,但得到“Install-Package:找不到与参数名称‘Pre’匹配的参数。
在行:1 字符:46
安装包 Google.Cloud.TextToSpeech.V1 -Pre
~~~~
CategoryInfo : InvalidArgument: (:) [Install-Package], ParameterBindingException
FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage"
我试过在网上搜索,但似乎我只是错过了一个关键步骤或其他什么。在尝试安装客户端库之前我应该做些什么吗?我在错误的地方做吗?帮助表示赞赏,谢谢!
编辑:Visual Studio 显示:
“安装失败。正在回滚......项目'Assembly-CSharp'包'Google.Cloud.TextToSpeech.V1.1.0.0-beta02'中不存在包'Google.Cloud.TextToSpeech.V1.1.0.0-beta02' '文件夹'C:\Users\bwubr\Documents\EventHorizonVR\packages'中不存在执行nuget操作需要1.03秒安装包:无法安装包'Google.Cloud.TextToSpeech.V1 1.0.0-beta02'。你正在尝试将此包安装到以“.NETFramework,Version=v3.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。在 line:1 char:1 + Install-Package Google.Cloud.TextToSpeech.V1 -Pre + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo :NotSpecified: (:) [Install-Package], Exception + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand"
java - Google Vision API java 客户端:如何在代码中显式设置 API 凭据(不使用环境变量)
我正在尝试将我的项目与Google Vision API集成
这是您检查我尝试集成的客户端版本的 Maven 依赖项:
文档提供的设置 API 身份验证凭据的方式如下:
我想知道是否有办法在代码中明确设置凭据,因为这比在我们运行项目的每个环境中设置环境变量更方便。
据我所知,以前的客户端版本1.22
可以执行以下操作:
但是对于新的客户端 API,我无法找到方法,并且文档在这方面没有说明任何内容。
javascript - 基于组件的客户端库 AEM
如果这意味着对服务器的更多调用,那么按组件拆分客户端库会更好吗?
即使用
<%@taglib prefix="ui" uri="http://www.adobe.com/taglibs/granite/ui/1.0" %>
<ui:includeClientLib categories="mqd.component.accordion" />
而<component>.jsp
不是在单个样式表中编译所有 CSS。
prometheus - 如何使用 JAVA Prometheus Pushgateway 客户端推送具有多个标签(键值)的无类型指标?
我想使用 java PushGateway 客户端推送指标。
示例 PushGateway URL pushgateway.com:9091/metrics/job/job_name
示例指标 metrics_name{instance="i1", label1="l1", label2="l2", label3="l3", label4="l4"} 值
任何人都可以提供一个代码片段来使用Prometheus Java Simpleclient Pushgateway将上述指标推送到 Pushgateway吗?
注意 我们有 20K 临时实例运行应用程序,因此决定使用 Pushgateway。
python - 使用 Cloud Function 从 Google Cloud Storage Bucket 读取最新文件
我面临的问题是 Cloud Storage 按字典顺序(字母顺序)对新添加的文件进行排序,而我正在使用 Cloud Functions 中的 python 客户端库读取放置在 Cloud Storage 存储桶中索引 0 处的文件(必须使用云函数作为我项目的一部分)并将数据放入对我来说工作正常的 BigQuery 中,但新添加的文件并不总是出现在索引 0 处。
流文件每天在不同的时间进入我的存储桶。文件名相同(data-2019-10-18T14_20_00.000Z-2019-10-18T14_25_00.txt),但文件名中的日期和时间字段在每个新添加的文件中都不同。
每次触发云功能时,如何调整此python代码以读取Cloud Storage存储桶中最新添加的文件?
angular - 如何使用 Ionic 的 Google Cloud Speech-to-Text
我想实现客户端库 Google Cloud,但没有 Ionic 实现。
如何在 Ionic 上实现客户端库以使用 Google Speech To Text?
目前,我尝试实现 NodeJS 客户端库,但存在一些问题,因为论坛中的一些人说我们必须使用 Ionic 的 File 原生实现。使用 File 为我产生错误。
spring-boot - Spring Boot 微服务中的客户端库
三年前,我作为开发人员参与了我的第一个微服务项目。我对微服务概念一无所知。该项目正在构建为 Spring Boot 微服务。一般来说,没有什么特别的,但所有项目都采用了颇具争议的基于客户端库的微服务之间的集成方式。我认为那些客户端库是用天真的方式制作的。我会尝试给出他们的主要想法。
项目中有三个模块*-api
:*-client
和*-impl
。这*-impl
是一个成熟的 REST 服务,并且*-client
是这个 REST 服务的客户端库。*-impl
和*-client
模块依赖于(它们作为 Maven 依赖项*-api
导入)。*-api
反过来包含 Java 接口,这些*-api
接口应该由模块中的@RestController类*-impl
和实现此 REST 服务的客户端库功能的类(通过RestTemplate或FeignClient)实现。通常还包含Bean Validation和Swagger*-api
可能涵盖的 DTO注释。在某些情况下,这些接口可能包含来自 Spring-MVC 的@RequestMapping注解。因此,@RestController和FeignClient的实现同时继承了@RequestMapping。
*-api
*-客户
*-impl
不难猜测其他一些微服务是否会拉取*-client
依赖项,它可能会在其类路径中获得不可预测的传递依赖项。微服务之间也出现了紧密耦合。
我决定花一些时间研究这个问题并发现一些概念。首先,我从 Sam Newman 著名的《构建微服务》一书(“客户端库”一章)中了解了像这样的广泛观点。此外,我还了解了Consumer Driven Contracts及其实现 - Pact和Spring Cloud Contract。我决定是否要使用 Spring Boot 微服务开始一个新项目,我会尽量不制作客户端库和耦合微服务。因此我希望达到最小的耦合。Consumer Driven Contracts
在那个项目之后,我参与了另一个项目,它的构建方式几乎与第一个关于客户端库的项目相同。我试图与一个团队分享我的研究,但没有得到任何反馈,所有团队都继续制作客户端库。几个月后,我离开了项目。
最近,我成为了我的第三个微服务项目的开发人员,该项目也使用了 Spring Boot。而且我面临着与前两个项目一样的客户端库使用方式。在那里我也没有得到任何关于Consumer Driven Contracts
使用的反馈。
我想知道社区的意见。您在项目中使用哪种方式?上述使用客户端库的方式是否合理?
附录1。
@JRichardsz 的问题:
- 你说的客户是什么意思?REST API 的客户端是 API 所有者提供的一种 sdk,允许客户端以简单的方式使用它,而不是 http 低级实现。
- 集成是什么意思?测试集成是您需要的吗?
- 我认为您的要求与如何在多个 api 之间组织源代码有关。这是对的吗?
答案:
这里我只考虑 Spring/Spring Cloud。如果我使用 Spring Boot 构建一个微服务,并且我想与另一个(微)服务交互/集成(这就是我所说的“集成”),我可以使用RestTemplate(它是一种客户端库,不是吗? )。如果我要使用 Spring Boot + Spring Cloud 构建微服务,我可以使用 Spring Cloud OpenFeign与另一个(微)服务进行交互(或集成)。我认为Spring Cloud OpenFeign也是一种客户端库,不是吗?在我的一般问题中,我谈到了由我工作的团队创建的自定义客户端库。例如有两个项目:microserviceA 和 microserviceB。这些项目中的每一个都包含三个 Maven 模块
*-api
:*-client
和*-impl
. 暗示*-client
maven 模块包含*-api
maven 模块。maven 模块也*-api
用作 maven 模块中的依赖*-impl
项。当 microserviceA(microserviceA-impl
maven 模块)想要与 microserviceB 交互时,它将导入microserviceB-client
maven 模块。因此 microserviceA 和 microserviceB 是紧密耦合的。我所说的集成是指微服务之间的交互。例如,microserviceA 与 microserviceB 交互/集成。
我的观点认为 microserviceA 和 microserviceB 不能有共同的源代码(通过客户端库)。这就是我问这些问题的原因:
您在项目中使用哪种方式?上述使用客户端库的方式是否合理?
附录 2。
我将尝试详细解释并举例说明。
介绍。
当我参与构建为微服务的项目时,他们使用相同的方式来实现微服务之间的交互,即“客户端库”。它们不是封装低级 http 交互、将 http 主体(等等)序列化/反序列化为 or 的客户端RestTemplate
库FeighClient
。它们是自定义客户端库,其唯一目的是与唯一的微服务进行交互(请求/响应)。例如,有一些microservice-b
提供一些microservice-b-client.jar
(它是一个自定义客户端库)并且microservice-a
应该使用它jar
来与microservice-b
. 它与RPC实现非常相似。
例子。
微服务-b项目
微服务-b-api maven 模块
pom.xml:
HelloController 接口:
HelloRequest dto:
HelloResponse dto:
microservice-b-client maven 模块
pom.xml:
HelloClient 接口:
microservice-b-impl maven 模块
pom.xml:
微服务B类:
HelloControllerImpl 类:
应用程序.yml:
微服务-一个项目
pom.xml:
微服务类:
MicroserviceA 运行的结果:
问题。
我认为这种微服务之间的集成方式(通过自定义客户端库)是一种错误的方式。首先,微服务变得紧密耦合。其次 - 客户端库带来了不良的依赖关系。尽管有这些情况,我工作的团队还是使用了这种奇怪的方式来实现微服务之间的集成。我想知道这种方式是否可以使微服务的集成合理(正确)?在微服务之间进行集成的最佳实践是什么?
PS 在我看来,Spring Boot 微服务应该通过Consumer Driven Contracts(Spring Cloud Contract或Pact)耦合,仅此而已。你觉得怎么走是对的?
aem - 如何在 aem 的 css.txt 中合并可创作的 css 文件
我们有一个现有的 AEM 应用程序,其中有 100 个页面。在大多数页面上,不同的 css 文件是通过单独的网络调用加载的。我们需要对此进行优化。我在想的是,如果我们可以: 1. 将页面上的 css 文件列表作为页面属性创作。2. 在我们的代码中,该页面属性被读取,所有作为属性值提及的 css 文件被组合并呈现在页面上。类似于在 css.txt 文件或嵌入属性中所做的事情。请建议。