小编Tov*_*ird的帖子

无法验证以下目标配置(S3 到 SQS)

我正在尝试使用无服务器建立一个工作流程,该工作流程创建一个新的 S3 存储桶、一个新的 SQS 队列,当在 S3 存储桶中创建一个对象时,将消息放入队列中,并在队列上有足够的消息时启动 lambda队列。我的资源块中有以下内容:

resources:
  Resources:
    AnalyticsQueue:
      Type: "AWS::SQS::Queue"
      Properties:
        QueueName: "my-queue"
    S3EventQueuePolicy:
      Type: AWS::SQS::QueuePolicy
      DependsOn: AnalyticsQueue
      Properties:
        PolicyDocument:
          Id: SQSPolicy
          Statement:
            - Effect: Allow
              Action: sqs:SendMessage:*
              Resource: !Ref AnalyticsQueue
        Queues:
          - !GetAtt AnalyticsQueue.Arn
    AnalyticsBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: "my-bucket"
        NotificationConfiguration:
          QueueConfigurations:
            - Event: s3:ObjectCreated:*
              Queue: !GetAtt AnalyticsQueue.Arn
Run Code Online (Sandbox Code Playgroud)

当我尝试部署它时,我收到以下错误:

发生错误:AnalyticsBucket - 无法验证以下目标配置(服务:Amazon S3;状态代码:400;错误代码:InvalidArgument;请求 ID:E2A1F8BD6BEE6EF4;)。

经过一番谷歌搜索,我发现问题出NotificationConfigurationAnalyticsBucket. 如果我删除整个子块,它部署得很好,但显然在创建对象时不会在队列上生成消息。

正在寻找解决这个问题的方法。

amazon-s3 amazon-sqs aws-cloudformation serverless-framework

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

在整数向量中找到奇数的索引

假设我们有一些向量:

someVector = c(1, 3, 4, 6, 3, 9, 2, -5, -2)
Run Code Online (Sandbox Code Playgroud)

我想得到一个具有someVector所有奇数元素位置的向量

所以在这种情况下,它看起来像......

resultVector = c(1, 2, 5, 6, 8)
Run Code Online (Sandbox Code Playgroud)

integer r

7
推荐指数
2
解决办法
9152
查看次数

Sinon stubbing helper方法在同一个文件中定义

所以我有一个文件,user-database看起来像这样:

export function foo(id: number): Promise<boolean> {
  return new Promise<boolean>((resolve, reject) => {
    findSomething(id)
    .then((data) => {
      //do something with data
    })
  }
}

export function findSomething(id: number): Promise<Object> {
  return new Promise<Object> ((resolve, reject) => {
    let query = 'SELECT * FROM user';
    db.executeQuery(query);
    .then(data) => {
      if(data.length < 1) { reject(new Error('whoops')); }
      resolve(data);
    }, (err) => {
      reject(err);
    })
  })
}
Run Code Online (Sandbox Code Playgroud)

所以我正在使用Sinon编写单元测试用于外部函数,foo因此我想将它调用的函数存根findSomething.我这样做如下:

import * as user_db from '../../src/user-database';

describe('POST /someEndpoint', () …
Run Code Online (Sandbox Code Playgroud)

unit-testing node.js sinon typescript sinon-chai

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

基于TypeScript中的字符串值属性对对象进行排序

我有一个对象数组,对象的定义看起来像这样:

export class AccountInfo {
  accountUid: string;
  userType: string;
  firstName: string;
  middleName: string;
  lastName: string;
}
Run Code Online (Sandbox Code Playgroud)

注意:我没有将userType作为枚举的原因是因为对象是由数据库调用填充的,我无法找到一种干净的方法让db返回的字符串填充枚举.

我想对数组进行排序,以便首先显示userType为"STAFF"的对象,然后是"TEACHER",然后是"PARENT",然后是"STUDENT".

javascript enums node.js typescript

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