小编jcc*_*ero的帖子

EC2MetadataUtils 的替代品

在我们的代码中,为了获取我们正在使用的 ec2 实例的区域EC2MetadataUtils.getEC2InstanceRegion(),我们刚刚意识到我们不能使用它EC2MetadataUtils,因为它是一个内部 API,可能会发生变化。

注意:这是一个内部 API,可能会发生变化。SDK 用户不应依赖于此。

进行了一些谷歌搜索,但无法找到替代解决方案,是否有任何替代解决方案可用于获取 ec2 实例的区域?

谢谢你的帮助!

java spring amazon-ec2 amazon-web-services aws-sdk

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

spring-boot-devtools 自动重启不起作用

我有一个使用 mvn 构建的有效 Spring Boot 2.25 应用程序。根据此文档,我添加

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

从文档:

由于 DevTools 监控类路径资源,触发重启的唯一方法是更新类路径。更新类路径的方式取决于您使用的 IDE。在 Eclipse 中,保存修改后的文件会导致更新类路径并触发重新启动。在 IntelliJ IDEA 中,构建项目(Build -> Build Project)具有相同的效果。

随着应用程序的运行,我尝试了一个简单的

touch /path/to/app.jar
Run Code Online (Sandbox Code Playgroud)

期待应用程序重新启动,但什么也没发生。

好吧,也许它正在做一些更聪明的事情。我修改了一些源 .java,重新编译了 .jar,然后用cp它来替换正在运行的 .jar 文件,然后……什么也没发生。

也来自文档

DevTools 依靠应用程序上下文的关闭挂钩在重新启动期间关闭它。如果您禁用了关闭钩子 (SpringApplication.setRegisterShutdownHook(false)),它就不能正常工作。

我不是在做这个。

DevTools 需要自定义ApplicationContext 使用的ResourceLoader。如果您的应用程序已经提供了一个,它将被包装。不支持直接覆盖 ApplicationContext 上的 getResource 方法。

我不是在做这个。

如果这很重要,我正在 Docker 容器中运行它。从文档:

运行完全打包的应用程序时,开发人员工具会自动禁用。如果您的应用程序是从 java -jar 启动的,或者是从特殊的类加载器启动的,则它被视为“生产应用程序”。如果这不适用于您(即,如果您从容器运行您的应用程序),请考虑排除 devtools 或设置 -Dspring.devtools.restart.enabled=false 系统属性。

我不明白这意味着什么,或者它是否相关。

我想重新编译一个 .jar 并在正在运行的 docker 容器中替换它,并在不重新启动容器的情况下触发和应用程序重新启动。我怎样才能做到这一点?

编辑:我正在使用mvn重建 jar,然后docker cp在正在运行的容器中替换它。(IntelliJ IDEA 声称要重建项目,但实际上并未 …

java docker spring-boot spring-boot-devtools

6
推荐指数
2
解决办法
729
查看次数

如何将 JWK 转换为 PEM

这个问题更通用,而不是针对特定语言,因此我将解释我的问题以及我在伪代码中尝试过的内容。

我正在尝试从 JWK 集中生成 PEM 公钥。JWK 包括“e”(指数)和“n”(模)变量。我的问题是,在不使用任何库和 OpenSSL 命令行工具的情况下将此 JWK 转换为 PEM 的确切步骤是什么。

这是JWK供参考:

{
  "kty": "RSA",
  "alg": "RS512",
  "kid": "26887d3ee3293c526c0e6dd05f122df53aa3f13d7dad06d25e266fa6f51db79fb52422aaf79f121476237e98dcd6640350fee47fec70e783544ec9a36e4605bc",
  "use": "sig",
  "n": "14m79mVwIE0JxQdKrgXVf7dVcBS90U0TvG7Yf7dG4NJocz1PNUrKrzGhe_FryOe0JahL_sjA2_rKw7NBCpuVx_zSPFRw6kqjewGicjXGus5Fmlf3zDuqwV4BWIFHyQexMPOly0agFfcM0M0MgBULXjINgBs9MwnRv7JVfRoGqXHsNM45djFDd3o4liu4LPlge_DquZUFLNu-BYAyAlWkz0H2TepZhGrN9VEPmxzQkNzXc1R4MpZvbxrRRgaAA2z094ik3hk86JhfyFq-LDcueZhtshmrYZ95LWgMlQ7PixkeK1HkeEYMt20lmNzR8B8KabimYmibxA4Ay9gpRwfp-Q",
  "e": "AQAB"
}
Run Code Online (Sandbox Code Playgroud)

我的大部分研究源自node-jwk-to-pem库(可以在这里找到: https: //github.com/Brightspace/node-jwk-to-pem)和一个使用JOSE库的StackOverflow问题在 PHP 中(可以在这里找到:How to conversion a public key from a JWK into PEM for OpenSSL?

根据我通过阅读上述库(加上一些其他文章和问题,但没有完全提到逐步过程)所发现的,我发现第一步是将模数和指数转换为整数(特别是 BigInt)。这通常会导致以下结果:

n = 27209154847141595039206198313134388207882403216639061643382959557246344691110642716248339592972939239825436848454712213431917464875221502188500634554426063986720722251339335488215426908010590565758292169712942346285217861588132983738839891250753593240057639347814778952277719613395670962156961452389927728643840215833830614315091417876959205843957512422401240879135352731575182574836052718961865690645602829768565458494497550672252951063585023601307115444743487394113997186698238507983094748342588645472362960665610355698438390751920697759620235642103374737421940385132232531739910444003185620313592808726865629407737
e = 65537
Run Code Online (Sandbox Code Playgroud)

使用此信息,我将如何从指数和模数生成 PEM 公钥?任何伪代码或建议都将是令人难以置信的!

cryptography rsa pseudocode pem jwk

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

在 Spring boot 应用程序中配置 GCP 凭据的首选方法是什么

我正在编写一个基于 Spring Boot 的微服务,它将部署在 GKE 上。要配置服务帐户凭据,我确实看到有多个可用选项。什么是最优选且可能更安全的选择?我已经尝试过以下方法,请建议其他方法

  1. CredentialsProvider 与 spring.cloud.gcp.credentials.location 的接口
  2. spring.cloud.gcp.credentials.encoded-key
  3. GCP 秘密管理器

java spring-boot google-cloud-platform microservices google-kubernetes-engine

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

如何列出 GCP 中包含给定权限的所有 IAM 角色

在发现用户(主体)需要额外的权限来执行任务后,我想知道哪些标准角色包含该权限,以便我可以将该角色添加到该用户。我还想知道每个角色还提供哪些其他权限,以便我可以选择具有符合用户需求的权限。我无法使用自定义角色,并且我避免使用基本角色,因为它们太广泛了。

目前,我正在使用https://cloud.google.com/iam/docs/understanding-roles#support-roles。我搜索权限,然后向上滚动以查看角色名称以及该角色中的所有其他权限。

它可以工作,但对于常见任务来说速度很慢。

是否有更好的网页或 gcloud api 命令可以更好地工作。

google-cloud-platform gcloud google-iam

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

构造函数的参数需要一个无法找到的类型的 bean?

我有以下Spring 存储库

import com.azure.spring.data.cosmos.repository.CosmosRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface PersonRepository extends CosmosRepository<Person, String> {}
Run Code Online (Sandbox Code Playgroud)

它在我的服务类的构造函数中引用:

private final PersonRepository personRepository ;

@Autowired
    public PersonService(
            PersonRepository personRepository) {
        this.personRepository= personRepository;
    }
Run Code Online (Sandbox Code Playgroud)

我在我的pom中添加了这个依赖项:

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-spring-data-cosmos</artifactId>
  <version>3.34.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序入门课程:

@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
@EnableSwagger2
@ConfigurationPropertiesScan("com.example.person")
public class PersonApplication extends SpringBootServletInitializer {
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

Parameter 3 of constructor in PersonService required a bean of type 'PersonRepository' that could not be found.
    
Action:
Consider defining a bean of type 'PersonRepository' …
Run Code Online (Sandbox Code Playgroud)

java spring maven spring-data azure-cosmosdb

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

通过工厂方法实例化Bean失败;异常 org.springframework.beans.BeanInstantiationException

我对 Kafka 有以下 Spring 配置:

import org.apache.kafka.clients.producer.ProducerConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;

import java.util.HashMap;
import java.util.Map;

@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "kafka.status.producer")
public class StatusKafkaProducerConfig {

  private String keySerializer;
  private String valueSerializer;
  private String bootstrapServers;

  public void setKeySerializer(String keySerializer) {
    this.keySerializer = keySerializer;
  }

  public void setValueSerializer(String valueSerializer) {
    this.valueSerializer = valueSerializer;
  }

  public void setBootstrapServers(String bootstrapServers) {
    this.bootstrapServers = bootstrapServers;
  }

  @Bean
  public Map<String, Object> producerConfigs() {
    Map<String, Object> properties = …
Run Code Online (Sandbox Code Playgroud)

java spring apache-kafka spring-boot spring-kafka

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

错误:IndexError:索引 6319 超出尺寸为 0 的轴 0 的范围

下面的代码取自https://github.com/anarn2/HierarchicalAttentionNetworks/blob/master/HierarchicalAttn.py,并进行了一些细微的调整。尽管我理解该错误的含义,但我无法弄清楚它是如何在以下代码中蔓延以及如何纠正它的。我已经被困在这个问题上很长一段时间了,非常感谢一些帮助。谢谢!

(这是整个代码)

maxlen = 100
max_sentences = 15
max_words = 20000
embedding_dim = 100
validation_split = 0.2
reviews = []
labels = []
texts = []
glove_dir = "./glove.6B"
embeddings_index = {}


# class defining the custom attention layer
class HierarchicalAttentionNetwork(Layer):
    def __init__(self, attention_dim):
        self.init = initializers.get('normal')
        self.supports_masking = True
        self.attention_dim = attention_dim
        super(HierarchicalAttentionNetwork, self).__init__()

    def build(self, input_shape):
        assert len(input_shape) == 3
        self.W = K.variable(self.init((input_shape[-1], self.attention_dim)))
        self.b = K.variable(self.init((self.attention_dim,)))
        self.u = K.variable(self.init((self.attention_dim, 1)))
        self.trainable_weights = [self.W, self.b, self.u] …
Run Code Online (Sandbox Code Playgroud)

python numpy keras tensorflow

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