小编ddd*_*ddd的帖子

为什么我不能在对等后从另一个VPC中的EC2实例连接AWS RDS实例

我在VPC A中的EC2实例上运行Tableau Server.同时,我在另一个VPC B中创建了一个postgres RDS.现在我想在Tableau Server和RDS之间建立连接.RDS VPC的CIDR为172.31.0.0/16,EC2 VPC的CIDR为10.0.0.0/16.

根据VPC中的A DB实例,在不同VPC中由EC2实例访问,我在VPC A和VPC B,pcx-xyz123之间创建了对等关系.此外,我还为VPC创建了以下路由表.

RDS VPC
Destination      Target
172.31.0.0/16    local
10.0.0.0/16      pcx-xyz123

EC2 VPC
Destination      Target
10.0.0.0/16      local
172.31.0.0/16    pcx-xyz123
Run Code Online (Sandbox Code Playgroud)

两个路由表都是主要的.每个都有0个子网(不确定这是否重要).

但是,我仍然无法从Tableau Server连接RDS.

这两个实例由同一帐户创建.它们都列在美国东部(俄亥俄州).所以我假设他们在同一个地区.另外两者都有us-east-2他们的主机名.从我的PC,我可以使用psql命令或pgAdmin连接到RDS.

为什么我不能连接这两个实例?

编辑:我在与Tableau Server相同的VPC的同一子网内创建了另一个EC2 Linux实例,仅用于调试目的.我以相同的方式配置了对等和路由表,并将子网与路由表相关联.但是,我仍然无法连接到EC2 Linux实例上的RDS.

amazon-ec2 amazon-web-services amazon-rds amazon-vpc

10
推荐指数
4
解决办法
5608
查看次数

为什么某些字体真棒图标不显示

我在Angular 5中使用了真棒字体的UI。由于我正在使用sass,因此我.angular-cli.json在安装后在其中添加了以下行font-awesome

"styles": [
        "../node_modules/font-awesome/scss/font-awesome.scss",
        "../node_modules/bootstrap/scss/bootstrap.scss",
        "styles.scss"
      ],
Run Code Online (Sandbox Code Playgroud)

一些图标的工作原理例如

<i class="fa fa-money blue-text"></i>
<i class="fa fa-code blue-text"></i>
Run Code Online (Sandbox Code Playgroud)

然而,更多的不是。例如,我想将此条形图图标与一起使用fas fa-chart-bar,但不显示任何内容。诸如此类的东西fas fa-camera-retro仅显示为一个怪异的正方形,而不是实际的图标。

为什么某些图标不起作用?有没有办法检查我安装的font-awesome软件包中是否存在这些CSS类?

编辑

刚刚在中搜索bar图表node_modules\font-awesome\css\font-awesome.css,仅fa-bar-chart存在,不存在fa-chart-bar。我安装了最新的字体-很棒(4.7.0)。为什么他们的网站说fa-chart-bar。刚可以使用它fa fa-bar-chart。为什么fa不是fas

html css font-awesome angular

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

Spring Boot应用程序可以同时处理多个请求吗?

我正在使用部署在AWS Beanstalk上的Spring Boot开发Rest API.这项服务可能每天都会受到成千上万客户的欢迎.因此,我想了解Spring Boot处理多个请求的能力.

从我在Spring-Boot中读到的内容:同时处理多个请求以及如何Spring引导中拥有线程安全控制器,看起来Spring Boot可以在控制器线程安全的同时处理请求.

如果同时向同一端点发出两个请求以进行更新,控制器是一个接一个地处理请求还是同时处理两个并行线程?如果是后者,每个线程都有自己的实体管理器吗?有没有办法实现线程池来根据EC2实例的容量限制线程数?顺便说一下,我如何根据估计的请求数量决定一个实例应该有多大?

rest multithreading spring-data-jpa spring-boot amazon-elastic-beanstalk

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

如何在运行mvn install时指定spring.profiles.active

在使用Spring的这个Web应用程序中,我为不同的部署环境创建了几个应用程序属性文件.它们指定不同的数据库连接配置.

application-dev.properties
application-qa.properties
application-stg.properties
application-prod.properties
Run Code Online (Sandbox Code Playgroud)

根据spring doc的推荐方法是在运行时将spring.profiles.active设置为JVM选项,例如:

-Dspring.profiles.active=prod
Run Code Online (Sandbox Code Playgroud)

但是,我应该怎么做才能使用mvn install将应用程序部署为war.我该如何设置弹簧轮廓?我正在使用Eclipse.

编辑:我在下面设置了JVM选项运行配置.因为我从tomcat得到以下错误,所以当我将它部署为战争时,似乎没有被maven接收:

Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception
Run Code Online (Sandbox Code Playgroud)

eclipse spring jvm web-services maven

8
推荐指数
2
解决办法
3万
查看次数

如何在Spring Boot Application中关闭Spring Security

我已经使用Spring Security在Spring Boot Application中实现了身份验证.

控制身份验证的主类应该是websecurityconfig:

@Configuration
@EnableWebSecurity
@PropertySource(value = { "classpath:/config/application.properties" })
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {


    @Autowired
    private RestAuthenticationSuccessHandler authenticationSuccessHandler;
    @Autowired
    private RestAuthenticationEntryPoint restAuthenticationEntryPoint;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
          .httpBasic()
            .and()
            .csrf().disable()
            .sessionManagement().sessionCreationPolicy(
                    SessionCreationPolicy.STATELESS)
            .and()
            .exceptionHandling()
            .authenticationEntryPoint(restAuthenticationEntryPoint)
            .and()
            .authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/login").permitAll()
                .antMatchers("/logout").permitAll()
                .antMatchers("/ristore/**").authenticated()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .successHandler(authenticationSuccessHandler)
                .failureHandler(new SimpleUrlAuthenticationFailureHandler());
    }
Run Code Online (Sandbox Code Playgroud)

因为我做的OAuth,我有AuthServerConfigResourceServerConfig也.我的主要应用程序类如下所示:

@SpringBootApplication
@EnableSpringDataWebSupport
@EntityScan({"org.mdacc.ristore.fm.models"}) 
public class RistoreWebApplication extends SpringBootServletInitializer
{
   @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override …
Run Code Online (Sandbox Code Playgroud)

authentication rest spring spring-security spring-boot

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

无法使用 Git Bash 运行 Java 应用程序

我下载了SymmetricDS,一种用于数据库复制的工具,并尝试在我的 Windows7 机器上运行它。该程序可以从命令行启动,它适用于 Windows 终端。但是我总是更喜欢Git Bash命令行的东西。sym但是,当我运行命令时,出现错误:

Error: Could not find or load main class org.jumpmind.symmetric.SymmetricLauncher
Run Code Online (Sandbox Code Playgroud)

这个工具是用Java编写的。我安装了 JDK 1.8。Git的Bash的继承所有环境变量,包括$PATH$JAVA_HOME从Windows。但是为什么它会抱怨找不到类?

sym命令实际上是在运行以下命令:

exec "$SYM_JAVA" $SYM_OPTIONS -cp "$CLASSPATH" org.jumpmind.symmetric.SymmetricLauncher "$@"
Run Code Online (Sandbox Code Playgroud)

所有的 jars 都位于lib应用程序的根目录下。类路径定义在sym.service.conf内部conf目录中:

# Java Classpath
wrapper.java.classpath.1=patches
wrapper.java.classpath.2=patches/*
wrapper.java.classpath.3=lib/*.jar
wrapper.java.classpath.4=web/WEB-INF/lib/*.jar

# Application main class and arguments
wrapper.app.parameter.1=org.jumpmind.symmetric.SymmetricLauncher 
Run Code Online (Sandbox Code Playgroud)

echo $CLASSPATHexec打印出类路径之前添加了它,它似乎确实让所有这些都正确:

/c/Users/dnj0109/Apps/symmetric-server-3.8.29/patches:
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/patches/*:
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/lib/*:
/c/Users/dnj0109/Apps/symmetric-server-3.8.29/web/WEB-INF/lib/*
Run Code Online (Sandbox Code Playgroud)

java git bash classpath

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

为什么消费者在使用Client API for Java消费DC/OS上的Kafka消息时会挂起?

我在AWS上的DC/OS(Mesos)集群上安装了Kafka.启用了三个代理并创建了一个名为"topic1"的主题.

dcos kafka topic create topic1 --partitions 3 --replication 3
Run Code Online (Sandbox Code Playgroud)

然后我编写了一个Producer类来发送消息,并编写了一个Consumer类来接收它们.

public class Producer {
    public static void sendMessage(String msg) throws InterruptedException, ExecutionException {
        Map<String, Object> producerConfig = new HashMap<>();
        System.out.println("setting Producerconfig.");
        producerConfig.put("bootstrap.servers", 
                "172.16.20.207:9946,172.16.20.234:9125,172.16.20.36:9636");

        ByteArraySerializer serializer = new ByteArraySerializer();
        System.out.println("Creating KafkaProcuder");
        KafkaProducer<byte[], byte[]> kafkaProducer = new KafkaProducer<>(producerConfig, serializer, serializer);
        for (int i = 0; i < 100; i++) {
            String msgstr = msg + i;
            byte[] message = msgstr.getBytes();
            ProducerRecord<byte[], byte[]> record = new ProducerRecord<>("topic1", message);
            System.out.println("Sent:" + msgstr);
            kafkaProducer.send(record); …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka dcos

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

如何在没有线程或任务队列的情况下在Flask中运行后台作业

我正在使用Flask-restplus构建REST API.我的一个端点从客户端上传文件并运行一些分析.这项工作最多使用30秒.我不希望这项工作阻止主要进程.因此,端点将立即返回200或201的响应,该作业仍可以运行.结果将保存到数据库中,稍后将检索该数据库.

对于长期工作,我似乎有两种选择.

  1. 穿线
  2. 任务队列

线程相对简单.但问题是,Flask app的线程数有限制.在独立的Python应用程序中,我可以使用队列作为线程.但这是REST api,每个请求调用都是独立的.我不知道是否有办法维护全局队列.因此,如果请求超出了线程限制,它将无法获取更多请求.

使用Celery和Redis的任务队列可能是更好的选择.但这只是一个概念验证的事情,时间线有点紧张.使用Flask设置Celery,Redis并不容易,我在我的dev机器上遇到了很多麻烦.它将部署在AWS上,这有点复杂.

我想知道这个案子是否有第三种选择?

python queue multithreading celery flask

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

如何将base64字符串直接解码为二进制音频格式

音频文件通过API发送给我们,该API是Base64编码的PCM格式。我需要将其转换为PCM,然后转换为WAV进行处理。

我能够使用以下代码解码->保存到pcm->从pcm读取->另存为wav。

decoded_data = base64.b64decode(data, ' /')
with open(pcmfile, 'wb') as pcm:
    pcm.write(decoded_data)
with open(pcmfile, 'rb') as pcm:
    pcmdata = pcm.read()
with wave.open(wavfile, 'wb') as wav:
    wav.setparams((1, 2, 16000, 0, 'NONE', 'NONE'))
    wav.writeframes(pcmdata)
Run Code Online (Sandbox Code Playgroud)

如果我可以将输入字符串解码为二进制并将其另存为wav,会容易得多。所以我在python中将字符串转换为二进制中 做了类似的事情

  decoded_data = base64.b64decode(data, ' /')
    ba = ' '.join(format(x, 'b') for x in bytearray(decoded_data))
    with wave.open(wavfile, 'wb') as wav:
        wav.setparams((1, 2, 16000, 0, 'NONE', 'NONE'))
        wav.writeframes(ba)
Run Code Online (Sandbox Code Playgroud)

但是我错a bytes-like object is required, not 'str'wav.writeframes

也尝试过base54.decodebytes()并得到相同的错误。

正确的方法是什么?

python base64 decode wav python-bytearray

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

为什么我有时会在使用 SQS 客户端时出现 Key Error

我正在使用 boto3 SQS 客户端从 AWS SQS FIFO 队列接收消息。

def consume_msgs():
    sqs = None
    try:
        sqs = boto3.client('sqs',
                       region_name=S3_BUCKET_REGION,
                       aws_access_key_id=AWS_ACCESS_KEY_ID,
                       aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
    except Exception:
        logger.warning('SQS client error {}'.format(sys.exc_info()[0]))
        logger.error(traceback.format_exc())

  ### more code to process message
Run Code Online (Sandbox Code Playgroud)

该应用程序使用upstart. 大部分时间都可以正常工作。但有时当我在代码更改后重新启动服务时,应用程序会退出并显示以下错误

2018-10-06 01:29:38,654 WARNING SQS client error <class 'KeyError'>
2018-10-06 01:29:38,658 WARNING SQS client error <class 'KeyError'>
2018-10-06 01:29:38,663 ERROR Traceback (most recent call last):
  File "/home/ec2-user/aae_client/app/run.py", line 194, in consume_msgs
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
  File "/home/ec2-user/aae_client/env/lib64/python3.6/dist-packages/boto3/__init__.py", line 83, in client
    return _get_default_session().client(*args, **kwargs)
  File "/home/ec2-user/aae_client/env/lib64/python3.6/dist-packages/boto3/session.py", line …
Run Code Online (Sandbox Code Playgroud)

python amazon-sqs amazon-web-services botocore boto3

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