我在S3存储桶中有一堆针对不同环境的Springapplication.yml属性文件。我想从S3存储桶加载属性文件,以保证无状态配置。
// Config Object
@Configuration
@ConfigurationProperties(prefix = "yaml")
public class YamlFooProperties {
private String name;
private List<String> aliases;
// standard getter and setters
}
// foo.yml file located in S3 bucket
yaml:
name: foo
aliases:
- abc
- xyz
如何让我的 spring-boot 应用程序加载这些属性,然后在应用程序启动时使其可用?
我使用的是Spring启动版本2.2.6.RELEASE和Java11。
您不必将配置存储在s3中。Spring Cloud提供的默认选项是git支持的存储,这对我来说似乎更有利。但是,也有S3支持。
https://cloud.spring.io/spring-cloud-config/reference/html/#_aws_s3_backend
这样,您的配置服务器就有了一个配置为使用S3存储桶作为底层存储的< code >环境存储库。
方法1:编写一些非常简单的启动脚本,首先从S3获取(比如< code>curl)本地文件(比如< code>s3-config.yaml),然后正常启动你的应用程序。
方法2:如果您使用的是Kubernetes(这是部署系统的好主意),则可以使用ConfigMap
或Helm
等其他方式来部署您的应用程序,以满足您“保证无状态配置”的需求。
方法3:如果你只想要Java(没有脚本,没有k8s等等),那么你可以写一些简单的Java代码,从S3获取文件,然后用这些数据调用你的spring boot应用程序的start。
我拥有的复制命令: 我的红移星系团的区域是AP-东南-1b,所以这将是与水桶(新加坡)相同的区域。我在这里不知所措,我需要尽快向管理层提出一个可行的数据仓库解决方案。任何帮助都将不胜感激。谢了。
问题内容: 我想通过JSESSIONID 获取Java 。可能吗?如果是,怎么办? 问题答案: 你需要收集所有在用你自己。 只需按以下所示注册即可运行: 然后,在任何您想做的地方都可以解决问题。 也就是说,这是一种 巨大的 气味。当然,解决 实际 功能需求的方法肯定比这更好;)正如我在您的后续问题中评论的那样: 这是您第二次询问一个在现实世界中永远不应该实践的问题。老实说,这一切都有味道。这是什么
我在S3存储桶中有一个包含json文件的文件夹。我正在使用Spring Boot。用户提供和特定文件()名称。
我是数据砖或火花的新手,并从数据砖中学习这个演示。我在 AWS 上设置了数据砖工作区。下面的代码来自官方演示,运行正常。但是这个csv文件在哪里?我想检查文件并了解路径参数的工作原理。
我无法从亚马逊S3桶加载雪花中的外部表。外部表创建成功,但在运行select命令时,不会返回任何内容。奇怪的是COPY into命令对雪花中的同一个表起作用。 谢谢,纳维德