小编p.m*_*aes的帖子

使用带有AWS Lambda的python日志记录

正如AWS文档所示:

import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def my_logging_handler(event, context):
    logger.info('got event{}'.format(event))
    logger.error('something went wrong')
Run Code Online (Sandbox Code Playgroud)

现在我做了:

import logging
logging.basicConfig(level = logging.INFO)
logging.info("Hello World!")
Run Code Online (Sandbox Code Playgroud)

第一段代码在Cloud Watch控制台中打印,但第二段没有.

我没有看到任何差异,因为两个片段正在使用根记录器.

python logging amazon-web-services aws-lambda

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

气流 - Python文件不在同一个DAG文件夹中

我试图使用Airflow来执行一个简单的任务python.

from __future__ import print_function
from airflow.operators.python_operator import PythonOperator
from airflow.models import DAG
from datetime import datetime, timedelta


from pprint import pprint

seven_days_ago = datetime.combine(datetime.today() - timedelta(7),
                                  datetime.min.time())

args = {
    'owner': 'airflow',
    'start_date': seven_days_ago,
}

dag = DAG(dag_id='python_test', default_args=args)


def print_context(ds, **kwargs):
    pprint(kwargs)
    print(ds)
    return 'Whatever you return gets printed in the logs'

run_this = PythonOperator(
    task_id='print',
    provide_context=True,
    python_callable=print_context,
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

如果我尝试,例如:

气流测试python_test打印2015-01-01

有用!

现在我想把我的def print_context(ds, **kwargs)函数放在其他python文件中.所以我创建了名为:simple_test.py的antoher文件并更改:

run_this = PythonOperator(
    task_id='print',
    provide_context=True,
    python_callable=simple_test.print_context,
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

现在我尝试再次运行:

气流测试python_test打印2015-01-01

好的!它仍然有效!

但是,如果我创建一个模块,例如,带有文件的worker模块 …

python celery celery-task airflow

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

Delphi,FileStream和MemoryStream

我想将FileStream的一部分复制到内存流.

FileStream.Write(Pointer(MemoryStream)^, MemoryStream.Size);
FileStream.Read(Pointer(MemoryStream)^, count);
Run Code Online (Sandbox Code Playgroud)

是对的吗?它不适合我.

delphi delphi-7

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

docker容器内的多个线程

我需要在docker容器中生成N个线程.我将收到一个元素列表,然后将其分成块,每个线程将处理每个块.

所以我使用的是一个具有一个进程和N个线程的docker容器.这是码头工人的好习惯吗?我是这么认为的,因为我们有例如处理连接生成线程的apacha webserver.

或者最好为每个块生成每个块的N个容器?如果是,那么这样做的正确方法是什么?

python multithreading docker

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

AWS SNS与AWS步骤功能

在微服务之间协调任务的更好选择是什么?

例如,如果我有一个处理客户信息并需要通知其他微服务的微服务,那么在微服务之间创建工作流(AWS Steps)或使用SNS是否更好?

我认为AWS Steps将耦合我的lambda函数,而SNS不会.

amazon-web-services amazon-sns aws-step-functions

11
推荐指数
2
解决办法
2819
查看次数

如何处理Cognito上的令牌过期

我正在开发一个使用AWS Cognito作为身份提供者的应用程序.因此,用户在AWS Cognito Pool上进行身份验证,并获取访问令牌,访问ID和刷新令牌.然后,用户可以向我的应用程序发出后端请求.我获取Access Token验证它,在Cognito AWS上获取用户配置文件并授权该请求.

问题是,在Access令牌过期后,客户端将过期的令牌发送到后端,后端应用程序会收到错误(令牌已经过验证或未经过授权).

如何使此工作流程有效?

我正在考虑向客户端发送令牌已过期的消息,并且客户将其刷新到Cognito Pool.这是正确的方法吗?

amazon-web-services amazon-cognito

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

Maven 测试因 ANTLR 类的 NoClassDefFoundError 失败

我正在使用main/resources/antlr-4.2-complete.jar外部库。我已经将它包含在我的类路径中。但是当我运行测试目标时,在 Eclipse 中我收到以下消息

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest)  Time elapsed: 0.011 sec  <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud)

所以我知道测试目标不是寻找antlr-4.2-complete.jar。我该如何解决这个问题?

这是我的 POM 文件:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.048 sec <<< FAILURE!
checkGrammar(br.com.stoneage.GrammarTest)  Time elapsed: 0.011 sec  <<< ERROR!
java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
Run Code Online (Sandbox Code Playgroud)

java antlr maven

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

在SQS队列中使用许多使用者

我知道可以使用多个线程来使用SQS队列.我想保证每条消息都会消耗一次.我知道可以更改消息的可见性超时,例如,等于我的处理时间.如果我的进程花费的时间超过可见性超时(例如,连接速度慢),则其他线程可以使用相同的消息.

保证邮件处理一次的最佳方法是什么?

queue message-queue amazon-sqs

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

在 GraphQL 上传递数组

我有这种突变:

mutation updateProducts($input1 : ProductInput!, $id1: ID!, $input2 : ProductInput!, $id2: ID!){
  p1: updateProduct(productInput: $input1, id: $id1){
      product{
      id
      showcaseOrder
    }

  }
enter code here
  p2: updateProduct(productInput: $input2, id: $id2){
      product{
      id
      showcaseOrder
    }
  }     

}
Run Code Online (Sandbox Code Playgroud)

我正在设置这个变量:

{
  "input1": {
    "showcaseOrder": 2
  },
  "id1": "363",
  "input2": {
    "showcaseOrder": 1
  },
  "id2": "364"
}
Run Code Online (Sandbox Code Playgroud)

我想将包含所有信息的数组传递给查询,而不是一一传递。

graphql

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

泽西问题与Maven - Shade插件

我的问题非常类似于:当依赖性组合成一个罐子时,仅抛出泽西异常

我运行我的应用程序(jetty embedded + jersey),一切正常.当我尝试创建可执行JAR时,我收到错误:

org.glassfish.jersey.message.internal.WriterInterceptorExecutor $ TerminalWriterInterceptor aroundWriteTo GRAVE:找不到媒体类型= application/json的MessageBodyWriter,type = class

我的POM.XML:

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>server.application.DeepDig</mainClass>
                                </transformer>
                            </transformers>

                            <filters>
                                <!-- filter to address "Invalid signature file" issue - see https://stackoverflow.com/a/6743609/589215 -->
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>

                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
Run Code Online (Sandbox Code Playgroud)

java jersey embedded-jetty maven

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