问题标签 [azure-spring-boot]

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 投票
2 回答
184 浏览

spring-boot - 使用 Spring 设置 Azure 客户端凭据流

我正在尝试使用 Spring 应用程序访问 Web api(均由我自己拥有)来设置客户端凭据流。我尝试遵循 Azure 文档Microsoft 身份平台和 OAuth 2.0 客户端凭据流程快速入门:配置客户端应用程序以访问 Web API,但由于文档不清楚,我遇到了一些问题。在我的设置中,Azure 强制用户登录,然后其他错误消息从那里出现。然而,正如我们所知,客户端凭据应该是机器对机器的授权,所以我不确定为什么会发生这种登录流程。

下面是我的设置。任何反馈都会帮助我开始跑步。

环境

应用程序.yml

Azure 配置 Web-app 和 web-api 注册的应用程序

Web-api 范围和与 web-app 客户端匹配的授权客户端

Web 应用身份验证设置

Web-App 权限,包括 web-api 权限

0 投票
2 回答
646 浏览

azure-devops - azure-spring-boot-starter-keyvault-secrets 在 PCF 中的应用程序启动期间未解析 vcap 服务变量

我正在将我的应用程序从旧版本的 azure-key-vault 升级到最新版本的 azure bom。

以下是 pom.xml 中的更改,应用程序无法在 PCF 中启动

在对 pom.xml 进行更改之前:

在 pom.xml 中进行更改后

使用旧版本时,应用程序启动并能够读取

应用程序启动时的属性

但是在进行 pom.xml 更改并获得以下异常后,同样没有得到解决

有什么改变打破了这一点吗?

0 投票
0 回答
188 浏览

azure-cosmosdb - 在 Spring boot 中支持多个 Azure Cosmos DB

我们的项目是一个以 CosmosDB 作为持久性存储的 spring-boot 多租户应用程序。我们正在使用 CosmosDB spring 数据库 com.azure.spring:azure-spring-boot-starter-cosmos。对于多租户,我们正在考虑 1) 每个容器的租户(每个容器的专用 RU)和 2) 每个数据库的租户设计。我们认为这两种设计都能满足我们的要求。这取决于我们的项目中哪个更容易实现。该项目提供 REST API 接口。REST 请求将携带租户 ID 信息。收到请求后,请求 id 从 Web 层传递到域层,然后使用 ThreadLocal 上下文类传递到持久层。在持久层,如果使用设计 1,我们应该根据租户 id 选择正确的容器名称(容器名称包含租户 id),如果使用设计 2,则基于租户 ID 的数据库名称(数据库名称包含租户 ID)。我们正在尝试找到一些关于如何实现这两种方法的示例或文档。

对于设计 1,我们找到的一份文件如下。我们正在考虑创建一个 bean,它根据 ThreadLocal 上下文中的租户 id 返回容器名称。然后使用表达式将其传递给实体类。我们将验证它是否有效。

SpEL 表达式和自定义容器名称。默认情况下,容器名称将是用户域类的类名。要对其进行自定义,请将 @Container(containerName="myCustomContainerName") 注释添加到域类中。容器字段还支持 SpEL 表达式(例如 container = "${dynamic.container.name}" 或 container = "#{@someBean.getContainerName()}"),以便以编程方式/通过配置属性提供容器名称。为了使 SpEL 表达式正常工作,您需要在 Spring Application 类的顶部添加 @DependsOn("expressionResolver") 。

对于设计 2,我们发现的唯一内容是https://github.com/Azure-Samples/azure-spring-boot-samples/tree/tag_azure-spring-boot_3.6.0/cosmos/azure-spring-boot-sample- cosmos-多数据库-单账户。但是在这个例子中,这两个数据库是静态定义的,并且在配置中是硬编码的。有人可以为我们指出一些支持动态数据库选择的例子吗?

另一种选择是为每个客户端手动构建 CosmosAsyncClient,而不是让 spring 为我们处理所有事情。但这会使持久性逻辑复杂化。

有没有人在做类似的事情,你如何解决这个问题?

0 投票
1 回答
81 浏览

azure - Azure 中 Spring Boot 应用程序的重定向/会话问题

我有一个带有 Thymeleaf 前端的有状态 Spring Boot 应用程序,在应用服务中运行(使用 Azure Docker Registry)。

当我部署应用程序时,会发生一些问题:

  • 在重定向期间,redirectAttributes#addFlashAttribute不工作;Thymeleaf 没有收到 flash 属性对象
  • 不记住我的情况下登录应用程序不起作用,只能使用记住我的cookie登录

这些问题最近开始发生,并且仅在 Azure 中运行应用程序时发生。无论环境(产品/开发)如何,当我在本地 Docker 或 IntelliJ 中运行它时,它都能完美运行。我没有多个实例或负载均衡器(这是一个小型生产计划 - S1 层)。

除此之外,我已经在 下设置了 ARR 亲和力“开” Configuration > General settings,但仍然没有运气。

版本:

  • 弹簧靴:spring-boot-starter-parent -> 2.3.5.RELEASE
  • 码头工人:openjdk:14-jdk-alpine

编辑:

发现问题,我们必须更新 Spring Boot:2.3.5.RELEASE -> 2.5.4

0 投票
0 回答
123 浏览

spring-boot - Azure - 使用 AMQP Web 套接字绑定 EventHub 消费者

我正在尝试建立一个非常基本的概念证明,以将 Spring 应用程序链接到 Azure 事件中心。我在启动时不断收到此日志:

尽管我为 EventHubProducerAsyncClient、EventHubConsumerAsyncClient 和 EventProcessorClient 定义了明确地将传输类型设置为AMQP_WEB_SOCKETS. 看这里:

制片人:

消费者:

事件处理器:

我在这里遗漏了一些明显的东西吗?我不明白它如何在明确定义时抱怨 TransportType 不是 AMQP Web Sockets。

0 投票
1 回答
72 浏览

java - 等效于 cosmosDb 的 Jpa 规范

我正在尝试将 Spring Boot 应用程序从 mssql 迁移到 CosmosDb。

我们有以下存储库实现,使用org.springframework.data.jpa.domain.Specification; 它可以根据用户请求的任何(一个或多个)列获取数据。

然后我们将其称为如下:

我不得不从类路径中删除 spring-boot-starter-data-jpa,因为它不支持 CosmosDb。我在类路径中使用下面的 spring 和 spring 数据 cosmos 引用,因为这是唯一对我有用的组合。

我真的不知道如何为 CosmosDb 实现上述规范逻辑。我非常感谢任何有关此的指导。提前致谢!

0 投票
0 回答
14 浏览

azure-data-lake-gen2 - SAS 令牌在 java 中的目录级别使用用于 ADLS Gen2 的 Azure AD 服务原则

我一直在尝试使用 java 获取 ADLS Gen2 的 SAS 令牌,但没有任何好的示例或文档,任何人都可以提供示例或文档以供参考。(我能够在容器级别为 blob 存储生成,但不能在目录级别为 ADLS Gen2 生成)