小编Neu*_*ter的帖子

使用boto3和dynamodb扫描查找2个日期之间的项目

我正在将NodeJS后端移至Python3.6。

在NodeJS中,我能够使用aws SDK来获取两个日期之间的项目,如下所示:

```

var now = moment().tz("Pacific/Auckland").format()
var yesterday = moment().add(-24,"Hours").tz("Pacific/Auckland").format()
var docClient = new AWS.DynamoDB.DocumentClient();
  var params = {
    TableName : process.env.TableName,
    FilterExpression : '#ts between :val1 and :val2',
    ExpressionAttributeNames: {
        "#ts": "timeStamp",
    },
    ExpressionAttributeValues: {
      ':val1': yesterday,
      ':val2': now
    }
  }
Run Code Online (Sandbox Code Playgroud)

```

这样做很好,但是boto3中的between函数似乎并没有做同样的事情。

这是我正在尝试获得类似结果的当前代码:

```

import boto3
import time
from datetime import datetime, timedelta
from boto3.dynamodb.conditions import Key, Attr

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('table_name')

now = int(datetime.timestamp(datetime.now()))
three_hours_ago =  int(datetime.timestamp(datetime.now() - timedelta(hours=3)))

fe = Key('timeStamp').between(three_hours_ago,now);
response …
Run Code Online (Sandbox Code Playgroud)

python-3.x aws-sdk boto3

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

Django RequestFactory 添加 HTTP_X_FORWARDED_FOR

我有这个代码块,我正在尝试为其编写测试:

def get_client_ip(req):
    """
    This is used to get the user's IP from the request object.

    """
    x_forwarded_for = req.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = req.META.get('REMOTE_ADDR', "unknown")
    return ip
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经能够测试 if 语句的 else 部分。这是我的测试目前的样子:

def test_get_client_ip(self):
    """
    Test the get Client IP fuction with a request.

    """
    # Create an instance of a GET request.
    request = self.factory.get('/home')
    ip = get_client_ip(request)
    self.assertEqual(ip, '127.0.0.1')
Run Code Online (Sandbox Code Playgroud)

我将如何将“HTTP_X_FORWARDED_FOR”添加到请求对象的 META 中?

python django unit-testing python-3.x

3
推荐指数
1
解决办法
2113
查看次数

标签 统计

python-3.x ×2

aws-sdk ×1

boto3 ×1

django ×1

python ×1

unit-testing ×1