小编Shi*_*hti的帖子

使用正确的时区和种类解析日期时间c#

我在数据库中有一个日期时间,我使用SqlDataReader读取然后将其转换为(DateTime).演员之后的Kind财产是DateTimeKind.Unspecified.

然后我有另一个字符串,我从其他来源读取.它的格式是这样的2016-01-20T22:20:29.055Z.我这样做DateTime.Parse("2016-01-20T22:20:29.055Z"),它的Kind属性是DateTimeKind.Local.

如何正确解析两个日期时间以进行比较?我需要使用DateTimeOffsets吗?我该如何解析它们?

谢谢

c# datetime parsing datetimeoffset

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

映射减少 AWS Lambda 和 SQS

我有一个 Lambda 函数,它会生成许多工作 Lambda 函数,如果出现任何错误,每个工作函数都会发布到 SQS 队列。

有一个 UI 可以长时间轮询 SQS 队列以查找任何错误。我的问题是我如何知道处理何时完成?

由于第一个 Lambda 函数(生成工作器 Lambda 函数)异步运行,也就是说,它将数据拆分到工作器 Lambda 函数中,然后返回/完成。我需要有能力弄清楚处理何时完成。

我只将错误发布到 SQS 队列而不是成功的原因是,如果我有 10,000 个对象要处理并且有 9,000 个成功,我将不得不执行很多操作ReceiveMessages(SQS API 调用以从 SQS 检索项目)队列)在 UI/客户端(如果我将每次调用接收的最大消息数指定为 10 条,则可能约为 900 次调用。每次调用无法从队列中检索超过 10 条消息。)

我怎样才能克服这个设计问题?

我正在使用 API Gateway、AWS Lambda 和 Dynamo DB(请随意推荐任何其他可以使工作更轻松地完成的 Amazon/AWS 服务。)

mapreduce amazon-sqs amazon-web-services aws-lambda

5
推荐指数
0
解决办法
689
查看次数

API Gateway 使用适用于 .NET 的 AWS 开发工具包签署请求

我在 API Gateway 中有一个 API,其授权类型已设置为 AWS_IAM,以便 API Gateway 验证请求的签名。

并将 API 端点限制为仅限特定 IAM 用户。

现在的问题是我如何从 .NET 使用这个 API?我无法自己创建/计算签名。适用于 .NET 的 AWS 开发工具包是否提供任何帮助程序或实用程序方法/类来计算签名,我可以将其作为 HTTP 标头附加到我的 HTTP 请求?

或者,适用于 .NET 的 API Gateway SDK 是否可以向我的受限 API Gateway 端点发出签名请求?

.net aws-sdk aws-api-gateway

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

在RxJS中,错误回调和.catch()有什么区别?

如果我有如下代码:

const d: any = {};

return this.http.post(url, body, httpOptions).map(data => {
  return d;
}, error => {
  console.error('error');
})
.catch((err, d$) => {
  return Observable.of(d);
});
Run Code Online (Sandbox Code Playgroud)

以及是否存在任何类型的错误,即POST请求失败,.map()成功回调中的某些错误或任何其他类型的错误。

这两个错误处理程序中的哪一个将在.map()或回调上被调用.catch()?是否取决于可能发生的错误的类型?

.map()是否总是因为.catch()操作员的存在而跳过错误回调?

observable rxjs5 angular angular-httpclient

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

Amazon DynamoDB 原子写入

我有一个 Lambda 工作函数列表(比如 1000 个),每个函数同时运行并完成其工作。为了能够弄清楚所有工人的最终结果,我提出了这个想法。

在开始作业并生成 Lambda 辅助函数之前,我在 DynamoDB 中保存一条记录,例如两个属性:

  • total_number_of_jobs
  • jobs_completed(初始设置为0)

每个 Lambda 工作函数完成后,它都会将属性加jobs_completed一。然后读取记录并检查是否total_number_of_jobs等于jobs_completed,如果是,则将记录放入SQS中。

我的问题是:

  1. 这是一个好主意吗?
  2. 更新会是一致的和原子的吗?是否存在任何竞争条件?
  3. 还有比这更好的解决方案吗?

jobs_completed我将在 UpdateItem API 调用中更新计数器,如下所示:

SET jobs_completed = jobs_completed + :incr_by其中incr_by将等于1.

amazon-web-services amazon-dynamodb aws-lambda

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

基于时间戳的DynamoDB查询/排序

在DynamoDB中,我有一个表,其中每个记录有两个日期属性,create_datelast_modified_date.这些日期是ISO-8601格式,即2016-01-22T16:19:52.464Z.

我需要有一种基于create_datelast_modified_dateie 查询它们的方法

  • 获取所有记录 create_date > [some_date]
  • 获取所有记录 last_modified_date < [some_date]
  • 通常得到所有记录[date_attr] [comparison_op] [some_date]等...

一种方法是在每条记录中插入一个伪固定属性,并创建一个索引,其中dummy属性作为分区键,并create_date作为排序键(同样适用于last_modified_date.)

然后,我就可以通过提供固定的虚拟属性作为分区键查询它是这样,日期属性作为排序键,使用任何比较操作符<,>,<=,>=,等等.

但这似乎并不好看,而且看起来像是黑客而不是正确的解决方案/设计.还有更好的解决方案吗?

amazon-dynamodb

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

使用promises递归检索分页数据

我正在使用一个以分页形式返回数据的函数.所以它将返回最多100个项目和一个键来检索接下来的100个项目.我想要检索所有可用的项目.

我如何以递归方式实现这一目标?递归是一个不错的选择吗?我可以在没有递归的情况下以任何其他方式进行吗?

我正在使用Bluebird 3x作为promises库.

以下是我想要实现的内容的片段:

getEndpoints(null, platformApplication)
  .then(function(allEndpoints) {
    // process on allEndpoints
  });


function getEndpoints(nextToken, platformApplication) {
  var params = {
    PlatformApplicationArn: platformApplication
  };

  if (nextToken) {
    params.NextToken = nextToken;
  }

  return sns.listEndpointsByPlatformApplicationAsync(params)
    .then(function(data) {
      if (data.NextToken) {
        // There is more data available that I want to retrieve.
        // But the problem here is that getEndpoints return a promise
        // and not the array. How do I chain this here so that 
        // in the end I get …
Run Code Online (Sandbox Code Playgroud)

javascript pagination node.js promise bluebird

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

从 JavaScript 代码访问 Angular 服务实例

我正在尝试做的是基于 Angular 服务中的数据进行一些测试断言,即我们正在尝试创建 E2E 测试,我们使用的工具允许我们为断言执行任意 JavaScript 代码,因此我需要知道是否可以访问 Angular 服务实例。

如何从纯 JS 代码访问 Angular 服务实例?

也就是说,如果我的 Angular 应用程序已部署,并且我在浏览器中打开该应用程序,然后打开 Chrome DevTools,我是否可以访问提供给所有组件的我的 Angular 服务的服务实例?

我知道可以通过ng.probe($0)等方式访问您的组件,但不确定服务。

从我到目前为止的搜索来看,似乎我们必须使用Injector该类,然后使用它的.get()方法来访问 Angular 服务实例之一,但我不确定如何访问Injector该类/实例本身?

下面是我的尝试:ng.probe($0)$0作为<app-root>我的应用程序),然后我看到返回值有一个.injector特性,席力图召ng.probe($0).injector.get('MyServiceName'),就有了一个错误:Uncaught Error: No provider for MyServiceName!

(即使我在ng.probe上面尝试,我也很想知道如何在没有 ng.probe 的情况下访问注入器,因为在执行自动化测试即 prod 模式期间,我认为我无法做到ng.probe($0)

所以我不确定我是否正在尝试以正确的方式访问它?有任何想法吗?

我正在使用 Angular 4。

javascript testing angular

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