标签: client-library

Spring Boot 微服务中的客户端库

三年前,我作为开发人员参与了我的第一个微服务项目。我对微服务概念一无所知。该项目正在构建为 Spring Boot 微服务。一般来说,没有什么特别的,但所有项目都应用了基于客户端库的微服务之间的集成方式,这种方式颇有争议。我认为那些客户端库是通过幼稚的方式制作的。我会尽量给出他们的主要想法。

项目中有三个模块:*-api,*-client*-impl. 这*-impl是一个成熟的 REST 服务,并且*-client是此 REST 服务的客户端库。*-impl*-client模块依赖于*-api(它们*-api作为 maven 依赖项导入)。在*-api又包含哪些应该由执行Java接口@RestController从类*-impl模块,并通过实现客户端库的功能,这REST服务(通过类RestTemplateFeignClient)。另外,*-api通常包含可被覆盖的DTO Bean验证扬鞭注释。在某些情况下,这些接口可能包含来自 Spring-MVC 的@RequestMapping注释。因此@RestControllerFeignClient同时的实现继承了@RequestMapping

*-api

@ApiModel
class DTO {
  @NotNull
  private String field;
  // getters & setters
}

interface Api {
  @RequestMapping("/api")
  void method(DTO dto)
}
Run Code Online (Sandbox Code Playgroud)

*-客户 …

client-library spring-boot microservices spring-cloud clean-architecture

5
推荐指数
1
解决办法
2181
查看次数

Google Cloud Storage 列出具有特定文件名的 Blob 对象

在 google.cloud.storage 和 list_blobs 的帮助下,我可以从特定存储桶中获取文件列表。但我想从存储桶中过滤(名称*.ext)确切的文件。我无法找到确切的解决方案。

例如:buket=data,prefix_folder_name=sales,在前缀文件夹中,我有带有元数据的发票列表。我想获取特定的发票及其元数据(name*.csv & name.*.meta)。另外,如果我循环特定文件夹的整个 all_blob 来获取所选文件,那么这将是大量数据,并且可能会影响性能。

如果有人帮助我解决这个问题,那就太好了。

bucket = gcs_client.get_bucket(buket)
all_blobs = bucket.list_blobs(prefix=prefix_folder_name)
for blob in all_blobs: 
  print(blob.name)
Run Code Online (Sandbox Code Playgroud)

python client-library google-cloud-storage

4
推荐指数
1
解决办法
1万
查看次数

使用POST请求和Java客户端库加载到BigQuery的任何示例?

有没有人有任何使用以下两种方法为BigQuery创建新插入作业的示例:

java client-library google-bigquery

3
推荐指数
1
解决办法
2294
查看次数

适用于JavaScript的Google API客户端库 - 404方法调用

从今天早上起,我使用gapi的所有应用程序都已关闭.

我正在使用:https: //apis.google.com/js/client.js

与我的Google Appengine应用程序的端点进行通信,例如:

gapi.client.load('public', 'v2', function(){
    gapi.client.public.organizations().execute(function(response){ 
        console.log(response); 
    }); 
}, 'https://XXX.appspot.com/_ah/api');
Run Code Online (Sandbox Code Playgroud)

截至今天,所有呼叫都响应,并显示以下错误消息:

[{"error":{"code":404,"message":"Not Found","data":[{"domain":"global","reason":"notFound","message":"Not Found"}]},"id":"gapiRpc"}]
Run Code Online (Sandbox Code Playgroud)

我的应用程序没有记录任何错误.我可以毫无错误地访问Endpoint API资源管理器(/ _ah/api/explorer).我可以无错误地进行HTTP请求调用,例如

https://XXX.appspot.com/_ah/api/public/v2/organizations
Run Code Online (Sandbox Code Playgroud)

"gapi"对象加载没有错误.我的"公共"端点也被加载,我可以使用javascript控制台列出所有方法.

我已向Google报告此错误.

还有其他人有这个问题吗?有没有人有任何快速的解决方案或解决方法?我是否可能错过了一些Google更新或API更改?

谢谢

javascript api google-app-engine client-library google-cloud-endpoints

3
推荐指数
1
解决办法
1219
查看次数

使用 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存储桶中最新添加的文件?

files = bucket.list_blobs()
fileList = [file.name for file in files if '.' in file.name]
blob = bucket.blob(fileList[0])   #reading file placed at index 0 in bucket
Run Code Online (Sandbox Code Playgroud)

python client-library google-cloud-storage google-cloud-platform google-cloud-functions

3
推荐指数
1
解决办法
2683
查看次数

如何控制客户端库中的日志级别?

我们希望客户能够控制客户端JAR中的日志记录级别.做这个的最好方式是什么?

目前我们只有一些写入System.out的日志语句.我意识到使用Log4J可以解决这个问题,尽管我们最大的客户之一不使用Log4J并使用自己的自定义日志记录实现.是否有一种干净的方法让他们控制我们的客户端jar中的日志记录?

我们想到的选项:客户端可以在客户端jar类上显式设置属性来设置日志记录级别(不喜欢这样),我们的客户端jar可以读取客户端可以放在类路径上的可选.properties文件(更好但仍然是有点痛苦).

java logging log4j client-library

1
推荐指数
1
解决办法
1069
查看次数

创建文件夹 google cloud storage bucket .NET Client Library

我正在寻找一种使用以下客户端库在存储桶内创建文件夹的方法:https : //cloud.google.com/storage/docs/json_api/v1/json-api-dotnet-samples

我查看了以下线程,看来我需要使用简单的方法上传。 使用php在存储桶谷歌云存储中创建文件夹

我看不到任何能够指定 a 的方式uploadtype,所有请求似乎都是uploadType=resumable.

查看上面的帖子和我需要使用的提琴手跟踪uploadType=media。有没有办法做到这一点?

c# client-library google-cloud-storage

1
推荐指数
1
解决办法
2485
查看次数