标签: rules

如何修改 AWS EventBridge 规则以使用 AND 而不是 OR 过滤器逻辑?

每次在名为“mybucket”的 S3 存储桶中创建 S3 对象时,我想通过 EventBridge 触发 AWS lambda 函数,但前提是其名称/密钥以“.csv”后缀结尾并且是在“”中创建的在该存储桶的“文件夹中。我目前拥有的 EventBridge 规则是这样的:

{
  "detail-type": ["Object Created"],
  "source": ["aws.s3"],
  "detail": {
    "bucket": {
      "name": ["mybucket"]
    },
    "object": {
      "key": [{
        "suffix": ".csv"
      }, {
        "prefix": "in/"
      }]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我实际上希望这个规则能够以正确的方式工作,但事实并非如此,相反,它的行为就像后缀和前缀过滤条件之间存在 OR 关系一样。据我了解AWS文档(https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html#eb-filtering-complex-example)上述规则应定义后缀和前缀过滤条件之间的 AND 关系,类似于文档中给出的示例:

{
  "time": [ { "prefix": "2017-10-02" } ],
  "detail": {
    "state": [ { "anything-but": "initializing" } ],
    "c-count": [ { "numeric": [ ">", 0, "<=", 5 ] } ],
    "d-count": [ { "numeric": [ …
Run Code Online (Sandbox Code Playgroud)

rules pattern-matching amazon-web-services suffix aws-event-bridge

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

来自FxCop的哪条规则会停用?

我个人还没有使用FxCop.我们希望在进行代码分析之前先完成单元测试.但是,你会永久停用哪些规则?您会暂时停用哪些规则以及在哪种情况下停用?

code-analysis fxcop rules

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

Make中的默认规则

是否有一种机制可以允许在任何地方使用的默认全局隐式规则,类似于内置规则?

Make为编译C/C++/Fortran文件提供了一些内置的隐式规则,甚至不需要Makefile简单的案例.但是,在编译其他语言(例如Go编程语言文件)时,Makefile始终需要a.我想扩展我的Makeenvironment默认情况下可以使用隐式规则.

makefile compilation rules go

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

关于挥发性使用的规则是严格的吗?

我看过这句话:

一般规则是,如果你有必须在多个线程之间共享的基本类型的变量,则声明那些变量 volatile

这篇文章,这句话:

通常,任何可以异步发音的数据都应声明为volatile.

这个页面,现在考虑这个引入的规则我想知道你能带一个案例的例子,尽管存在对数据的异步访问,声明数据volatile在实践中没用,或者没有这样的例外情况和规则是严格的.

c++ multithreading rules volatile

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

在Mathematica中处理KMZ

我坚持转换.

我有一个带有一些坐标的KMZ文件.我读了这样的文件:

m=Import["~/Desktop/locations.kmz","Data"]
Run Code Online (Sandbox Code Playgroud)

我得到这样的东西:

{{LayerName->Point Features,
  Geometry->{
    Point[{-120.934,49.3321,372}],
    Point[{-120.935,49.3275,375}],
    Point[{-120.935,49.323,371}]},
  Labels->{},LabeledData->{},ExtendedData->{},
  PlacemarkNames->{1,2,3},
  Overlays->{},NetworkLinks->{}
}}
Run Code Online (Sandbox Code Playgroud)

我想从每个点以及与点相关联的地标名称{1,2,3}中提取{x,y,z}.即使我可以从几何中得到分数 - > {}也没关系,因为我可以将它们提取到List @@@的列表中,但是我在基本部分丢失了,我无法提取几何"规则".

谢谢你的帮助,

罗恩

wolfram-mathematica rules kmz mathematica-8

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

在ANTLR中,是否有一个快捷符号表示某些规则集的所有排列的交替?

在ANTLR中,我想定义一个这样的规则:

规则:(abc | acb | bac | bca | cab | cba);

但在我的情况下,我有10个规则而不是3个,我想要置换,因此它变得非常不切实际.有没有办法在ANTLR中表达这一点而不必写出所有的排列?

grammar parsing antlr rules

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

为什么更改引用指向不引发错误?

我已经进入了关于参考文献的c ++研究阶段.它声明了以下规则:

将引用初始化为对象后,无法将其更改为引用另一个对象.

Iv写了一个简短的代码(正如练习中所要求的那样),旨在证明这个规则是正确的.

int y = 7;
int z = 8;

int&r = y;
r = z;
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这个代码编译没有任何错误或警告?

c++ reference rules

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

PostgreSQL-插入记录的干净方法(如果它们不存在,则更新)

这是我的情况。我有一个带有一堆URL和与之关联的爬网日期的表。当我的程序处理URL时,我想插入一个具有爬网日期的新行。如果URL已经存在,我想将爬网日期更新为当前日期时间。对于MS SQL或Oracle,我可能为此使用MERGE命令。对于mySQL,我可能会使用ON DUPLICATE KEY UPDATE语法。

我可以在程序中执行多个查询,这些查询可能是线程安全的,也可能不是线程安全的。我可以编写一个具有各种IF ... ELSE逻辑的SQL函数。但是,为了试用以前从未使用过的Postgres功能,我正在考虑创建INSERT规则-类似于以下内容:

CREATE RULE Pages_Upsert AS ON INSERT TO Pages
  WHERE EXISTS (SELECT 1 from Pages P where NEW.Url = P.Url)
  DO INSTEAD
     UPDATE Pages SET LastCrawled = NOW(), Html = NEW.Html WHERE Url = NEW.Url;
Run Code Online (Sandbox Code Playgroud)

这实际上看起来很棒。从“代码可读性”的角度来看,它可能会失去一些意义,因为初次查看我的代码的人必须神奇地知道此规则,但是我想可以通过良好的代码注释和文档来解决。

此想法是否还有其他缺点,或者“您的想法糟透了,您应该/ this /方式代替”注释?如果那很重要,我将使用PG 9.0。

更新:查询计划,因为有人想要它:)

"Insert  (cost=2.79..2.81 rows=1 width=0)"
"  InitPlan 1 (returns $0)"
"    ->  Seq Scan on pages p  (cost=0.00..2.79 rows=1 width=0)"
"          Filter: ('http://www.foo.com'::text = lower((url)::text))"
"  ->  Result  (cost=0.00..0.01 rows=1 width=0)"
" …
Run Code Online (Sandbox Code Playgroud)

database postgresql rules upsert

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

Laravel 5唯一表单验证忽略id/slug

这些是我班上的规则:

class AppointmentsController extends Controller
{
    protected $rules = [
        'appointment' => ['required', 'min:5'],
        'slug'        => ['required', 'unique:appointments'],
        'description' => ['required'],
        'date'        => ['required', 'date_format:"Y-m-d H:i"'],
    ];
Run Code Online (Sandbox Code Playgroud)

这是laravel官方文档:

有时,您可能希望在唯一检查期间忽略给定的ID.例如,考虑一个"更新配置文件"屏幕,其中包括用户的名称,电子邮件地址和位置.当然,您需要验证电子邮件地址是否唯一.但是,如果用户仅更改名称字段而不更改电子邮件字段,则不希望抛出验证错误,因为用户已经是电子邮件地址的所有者.如果用户提供已由其他用户使用的电子邮件地址,您只想抛出验证错误.要告诉唯一规则忽略用户的ID,您可以将ID作为第三个参数传递:

'email' => 'unique:users,email_address,'.$user->id.',user_id'
Run Code Online (Sandbox Code Playgroud)

我尝试在我的规则中使用它:

'slug'        => ['required', 'unique:appointments,id,:id'],
Run Code Online (Sandbox Code Playgroud)

这确实忽略了当前行,但它完全忽略了它.我想要完成的是,我希望它只在slug不变的情况下忽略当前行.当它被更改为另一行中已经唯一的东西时,我希望它抛出一个错误.

php rules unique slug laravel-5

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

设置 process_request 和 callback 参数时,Scrapy 规则不起作用

我对scrapy有这个规则 CrawlSpider

rules = [
        Rule(LinkExtractor(
                    allow= '/topic/\d+/organize$', 
                    restrict_xpaths = '//div[@id= "zh-topic-organize-child-editor"]'
                    ),
           process_request='request_tagPage', callback = "parse_tagPage", follow = True)
    ]
Run Code Online (Sandbox Code Playgroud)

request_tagePage()指将cookie添加到请求parse_tagPage()中的函数,指的是解析目标页面的函数。根据文档, CrawlSpider 应该用于request_tagPage发出请求,一旦返回响应,它就会调用parse_tagPage()解析它。但是,我意识到request_tagPage()使用时,蜘蛛根本不会调用parse_tagPage()。所以在实际的代码中,我手动添加了parse_tagPage()回调函数作为 中的回调request_tagPage,像这样:

def request_tagPage(self, request):
    return Request(request.url, meta = {"cookiejar": 1}, \ # attach cookie to the request otherwise I can't login
            headers = self.headers,\
            callback=self.parse_tagPage) # manually add a callback function.
Run Code Online (Sandbox Code Playgroud)

它起作用了,但现在蜘蛛不使用规则来扩展它的爬行。它在从 抓取链接后关闭start_urls。但是,在我手动将parse_tagPage()as 回调设置为之前request_tagPage() …

rules callback web-crawler scrapy

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