小编Nei*_*nin的帖子

如何将cloudwatch警报连接到lambda函数

如何将aws云监视警报连接到lambda函数调用?

我通过AWS CloudFormation模板以编程方式向我们创建的作为云形成堆栈一部分的ELB添加云监视警报.我希望将警报发送到lambda函数,该函数将消息发布到Slack.虽然警报有效,并且SNS配置对我来说似乎是正确的,但从不调用lambda函数.

lambda函数遵循以下示例:

https://medium.com/cohealo-engineering/how-set-up-a-slack-channel-to-be-an-aws-sns-subscriber-63b4d57ad3ea#.x2j9apedu

http://inopinatus.org/2015/07/13/hook-aws-notifications-into-slack-with-a-lambda-function/

lambda函数工作,我可以通过aws控制台发送测试数据,从而发送一条消息发送给Slack.

使用看起来正确的云监控警报创建负载均衡器:

在此输入图像描述

警报似乎配置为将警报发送到正确的SNS主题:

在此输入图像描述 在此输入图像描述

有一个SNS订阅该主题,lambda函数作为它的端点:

在此输入图像描述

警报触发时会触发警报并将消息发送到正确的主题:

在此输入图像描述

但是从不调用lambda函数:

在此输入图像描述

但是,如果我在lambda函数上手动添加SNS主题作为"事件源",则会在警报触发和发布Slack消息时调用它.

在此输入图像描述

我是否误解了如何将云监视报警连接到lambda函数?或者我缺少一个小细节?

如果这种方法不起作用,并且将lambda函数连接到云监视警报的唯一方法是将SNS主题添加为"事件源",通过AWS CloudFormation模板执行此操作的适当方法是什么?我没有看到修改现有资源的明显方法,例如固定的lambda函数.

这是我的CloudFormation模板:

"GenericSlackAlertSNSTopic" : {
    "Type" : "AWS::SNS::Topic",
    "Properties" : {
        "Subscription" : [ {
            "Endpoint" : "arn:aws:lambda:us-east-1:[...]:function:snsToSlack",
            "Protocol" : "lambda"
        } ]
    }
},
"ELBNoTrafficAlarm": {
    "Type": "AWS::CloudWatch::Alarm",
    "Properties": {
        "Namespace" : "AWS/ELB",
        "AlarmDescription": "Alarm for no apparent traffic on an ELB.",
        "AlarmActions": [{
            "Ref": "GenericSlackAlertSNSTopic"
        }],
        "InsufficientDataActions": [{
            "Ref": "GenericSlackAlertSNSTopic"
        }],
        "MetricName": "RequestCount",
        "Statistic": "Sum",
        "Dimensions" : [ {
            "Name" : "LoadBalancerName",
            "Value" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-sns aws-cloudformation amazon-cloudwatch aws-lambda

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

使用本地 fork 的 Maven 方式是什么?

我有一个 java spring web 应用程序 WebappA,它使用 LibraryY。LibraryY 使用另一个库 LibraryZ。

LibraryY 和 LibraryZ 都是具有可分叉 github 存储库的 OSS。

我想更改 LibraryZ 中的某些内容,以便我的更改可以被推回原始存储库。

使用 Maven 和 github 执行此操作的最佳路径是什么?行家方式是什么?

我将 Y 和 Z 克隆到我的机器上,并在每个机器上运行 mvn install 。他们各自构建,并生成了 jar,这很好,但 WebappA 依赖于 RELEASE 构建,所以我在 ~/.m2/[...] 中创建 *-SNAPSHOT 构建没有任何作用。我认为?这很好。

我应该如何将源代码更改为 LibraryZ 以便 WebappA 在本地使用它?

我尝试将 LibraryZ 的版本号更改为“*-mybuild”,但它本身没有构建,因为它的子模块没有依赖项,将 LibrayZ 声明为其父模块,并且它们的“父模块”是由版本号引用的?我认为?

一位同事建议更改 LibraryZ 的 groupId,但我还没有尝试过,因为这似乎比更改所有这些 pom 文件中的所有版本号更疯狂。

看起来幸福的道路是通过更改版本号来更改数十个 pom 文件,但这似乎很疯狂且错误。

我觉得我错过了一些东西,因为这似乎不对。

对我的应用程序使用的 java 库的本地分支进行更改的 Maven 方法是什么?

谢谢!

-尼尔

java spring maven git-fork

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

如果角度正在做的话,从硒中检测......

为什么要driver.findElement(<some static element ng-if=simplebool>static text</some>).getText()回""?

我有一个角度应用程序,我通过osx通过chromedriver通过osx测试selenium.

我有一些看起来像这样的标记:

<h1 id="my-unique-id" ng-if="model.shouldDisplayThisAttribute">static text</h1>
Run Code Online (Sandbox Code Playgroud)

我经常得到:

assert(driver.findElement(By.id("my-unique-id").getText().contains("static text");
Run Code Online (Sandbox Code Playgroud)

收益:

java.lang.AssertionError: Not true that <""> contains <"static text">
Run Code Online (Sandbox Code Playgroud)

比如,30%的时间.

我不明白该元素的.getText()如何评估为"",所以我假设angular是$ digesting或$ compiling page.没关系.没关系.没关系.

我想知道angular什么时候完成了$ compiling和$ digesting和$ watching,所以我可以查看页面看看是什么.

如果我添加:

(function() 
   function angularAppearsToBeIdle(callback) {
     var untilNextDigest,
        isIdle = angular.element(document.body).scope().$watch(function () {
           clearTimeout(untilNextDigest);
           untilNextDigest = setTimeout(function () {
           isIdle();
           callback('done');
         }, 100);
      });
    }
 angularAppearsToBeIdle(console.log.bind(console));
}());
Run Code Online (Sandbox Code Playgroud)

在我的页面中,我看到了我期待它们时的console.log消息.

如果我将其粘贴到控制台中:

(function() {
   function angularAppearsToBeIdle(callback) {
       var untilNextDigest,
       isIdle = angular.element(document.body).scope().$watch(function () {
           clearTimeout(untilNextDigest);
           untilNextDigest = setTimeout(function () { …
Run Code Online (Sandbox Code Playgroud)

javascript java selenium angularjs selenium-webdriver

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