小编JAc*_*k28的帖子

使用aws-sdk-mock对DocumentClient的promise支持进行模拟

我正在尝试使用aws-sdk-mock的promise支持编写单元测试.我正在使用DocumentClient.

我的代码看起来像这样:

const docClient = new AWS.DynamoDB.DocumentClient();

const getItemPromise = docClient.get(params).promise();
   return getItemPromise.then((data) => {
   console.log('Success');
   return data;
}).catch((err) => {
   console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

我的模拟和单元测试看起来像这样:

const AWS = require('aws-sdk-mock');
AWS.Promise = Promise.Promise;

AWS.mock('DynamoDB.DocumentClient', 'get', function (params, callback)
{
   callback(null, { Item: { Key: 'test value } });
});

dynamoStore.getItems('tableName', 'idName', 'id').then((actualResponse) => {
  // assertions
  done();
});
Run Code Online (Sandbox Code Playgroud)

运行我的单元测试,不返回我的测试值,它实际上绕过我的模拟,并直接调用dynamoDb.我究竟做错了什么?我怎样才能正确设置模拟器?

node.js aws-sdk aws-sdk-mock

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

API网关缓存与CloudFront

我对API Gateway和CloudFront如何协同工作感到困惑.最终,我希望能够将自定义标头和值视为我的缓存键的一部分.我知道这可以通过白名单来完成(如果我使用的是CloudFront).

所以当我提出以下要求时:

GET/pagesRead/4 Some-Header:fizz

例如,返回'29页'

然后有一篇帖子将id 4更新为'45页'

如果我提出这个请求

GET/pagesRead/4 Some-Header:buzz

它现在将返回'45页'

但我正在使用API​​网关,显然它在幕后拥有自己的CloudFront.有没有办法可以配置API网关使用其"幕后"CloudFront将我的自定义标题列入白名单?这甚至需要做吗?

根据这个文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html,似乎我可以在API网关中启用API缓存,它会考虑我的标题作为缓存键的一部分.

我理解正确吗?如果我想要的只是我的标题是缓存键的一部分,那么API网关中的"启用API缓存"和在API网关之上添加CloudFront实例以及在CloudFront中列入白名单之间有什么区别?

更新:

我在API网关中添加了这样的标题: 在此输入图像描述

但是在GET上,我从缓存中获取过时的数据.

GET/pagesRead/4 test-header:buzz

amazon-web-services amazon-cloudfront aws-api-gateway api-gateway

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

占用空间的必需和RegularExpression验证器

我遇到了asp.net的字段验证器在我的页面占用空间的问题.我一直在搜索,文档说要使用Display ="Dynamic"来阻止验证器占用空间.但是,当我使用它时,始终显示错误消息.

我究竟做错了什么?

我只想在用户点击"保存"按钮时显示错误消息,或者丢失对文本框的关注.而且我不希望验证者占用空间.

     <p>Please enter a new email:</p> 
     <asp:TextBox runat="server" MaxLength="255" ID="TextBoxEmail" />

     <asp:RequiredFieldValidator ID="RequiredFieldValidator1"  
          ValidationGgroup="Email" 
          ErrorMessage="Please enter an email" 
          ControlToValidate="TextBoxEmail" runat="server"></asp:RequiredFieldValidator>

     <asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
         ValidationGroup="Email"
          ControlToValidate="TextBoxEmail"                    
          ErrorMessage="Please enter valid email"
          runat="server"      
          ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />


      <p>Please re-enter your email:</p> 
      <asp:TextBox runat="server" ID="TextBoxEmail2" />


      <asp:LinkButton ValidationGroup="Email" runat="server" Text="Save"  OnClick="linkbuttonSave_Click"  />
Run Code Online (Sandbox Code Playgroud)

asp.net

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

使用smtp时如何格式化电子邮件中的文本

我正在使用以下方法发送电子邮件.我希望能够使用粗体文本格式化电子邮件.

防爆.

来自: 名称

电邮: 电邮地址

消息: 消息

我该怎么做?

    protected void SendMail()
    {
        var fromAddress = "myemail@gmail.com";
        var toAddress = "myotheremail@gmail.com";
        const string fromPassword = "mypassword";

        string subject = "New Email from Website";
        string body = "From: " + name.Text + "\n";
        body += "Email: " + email.Text + "\n";
        body += "Message: \n" + message.Text + "\n";

        var smtp = new System.Net.Mail.SmtpClient();
        {
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential(fromAddress, …
Run Code Online (Sandbox Code Playgroud)

c# smtp

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

SSRS - 在特定组 - SQL Server 2008 R2之后添加分页符

有没有办法在第n组后添加分页符?

我有一个有两列的表,按状态分组.

State |  Name 

MA       Sarah 
         Bob
NY       Jane
TX       Klein
Run Code Online (Sandbox Code Playgroud)

我想要第3组(TX),在它自己的页面上.如何在特定组后添加分页符?

reporting-services

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