我正在使用以下选项
set -o pipefail
set -e
Run Code Online (Sandbox Code Playgroud)
在bash脚本中停止执行错误.我有100个脚本执行,我不想检查脚本的返回代码.但对于特定的脚本,我想忽略错误.我怎样才能做到这一点 ?
当我的测试用例失败时,特别是在我们的构建服务器上,我想拍摄屏幕的图片/屏幕截图,以帮助我调试稍后发生的事情.我知道如何截取屏幕截图,但我希望takeScreenshot()
在浏览器关闭之前,如果测试失败,JUnit中的方法可以调用我的方法.
不,我不想编辑我们的测试来添加try/catch.我想,我可能,也许可能会被说成一个注释.我的所有测试都有一个共同的父类,但我想不出我能做什么来解决这个问题.
想法?
我正在调用adminInitiateAuth并为我自己的lambda返回一个奇怪的AccessDeniedException.
这是我正在调用的代码:
var params = {
AuthFlow: "ADMIN_NO_SRP_AUTH",
ClientId: "@cognito_client_id@",
UserPoolId: "@cognito_pool_id@",
AuthParameters: {
USERNAME : username,
PASSWORD : tempPassword
},
};
cognitoIdentityServiceProvider.adminInitiateAuth(params, function(error, data) {
if (error) {
console.log("ERROR! Login failed: " + JSON.stringify(error), error.stack);
} else {
console.log("Login sent back: " + JSON.stringify(data));
}
});
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
ERROR! Login failed: {"message":"arn:aws:lambda:us-east-1:201473124518:function:main-devryan-users_onCognitoLogin failed with error AccessDeniedException.","code":"UnexpectedLambdaException","time":"2017-02-25T18:54:15.109Z","requestId":"ce42833f-fb8b-11e6-929b-2f78b63faa12","statusCode":400,"retryable":false,"retryDelay":1.0853444458916783} UnexpectedLambdaException: arn:aws:lambda:us-east-1:201473124518:function:main-devryan-users_onCognitoLogin failed with error AccessDeniedException.
Run Code Online (Sandbox Code Playgroud)
有谁知道我为什么会收到这个错误?
我的Angular
应用程序具有以下结构
- src/app/main/
|
-main.js
-main.controller.js
-index.html
Run Code Online (Sandbox Code Playgroud)
我正在使用Gulp.构建完成后,*.js
文件以错误的顺序注入index.html
.该文件main.js
取决于main.controller.js
,所以main.controller.js
必须先注入main.js
.
<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
<!-- inject:js -->
<script src="app/main/main.js"></script>
<script src="app/main/main.controller.js"></script>
<script src="app/index.js"></script>
<!-- endinject -->
Run Code Online (Sandbox Code Playgroud)
这是我的 gulpfile.js
'use strict';
var gulp = require('gulp');
var gutil = require('gulp-util');
var wrench = require('wrench');
var options = {
src: 'src',
dist: 'dist',
tmp: '.tmp',
e2e: 'e2e',
errorHandler: function(title) {
return function(err) {
gutil.log(gutil.colors.red('[' + title + ']'), err.toString());
this.emit('end');
}; …
Run Code Online (Sandbox Code Playgroud) 我安装了NodeJS,似乎工作正常.运行npm工作正常,我可以安装包.然后我跑了
npm install serverless -g
Run Code Online (Sandbox Code Playgroud)
这也很好.但是当我尝试运行时:
serverless
Run Code Online (Sandbox Code Playgroud)
在Windows命令提示符下,我收到有关未找到命令的错误.
'serverless' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
我的答案如下.
我刚刚升级到最新版本的 Chrome 87。无论 Chrome 窗口是在前台还是后台,我的 Webdriver.io/Selenium 测试都可以正常运行。现在,升级后,如果窗口在前台,则测试通过,但如果它在后台则不通过。
我没有最小化运行我的测试的 Chrome 窗口。我只是按 Alt+Tab,这样我的 IDE 就在 Chrome 前面,它在后面。
我知道 Chrome 87 有一个新的“功能”,如果它不在前台,它会使用更少的 CPU。有没有办法使用 Chrome 或 Chromedriver 设置关闭它?
似乎我的测试是找到要点击的按钮,但 Chrome 没有注册点击。
我第一次登录应用程序时,早上第一件事,AWS Cognito 返回此错误:
{
"message": "arn:aws:lambda:us-east-1:XXXXXXXXXX:function:main-devryan-users_onCognitoLogin failed with error Socket timeout while invoking Lambda function.",
"code": "UnexpectedLambdaException",
"time": "2017-08-29T13:30:01.351Z",
"requestId": "1c04c982-8cbe-11e7-b9c9-a584e55a17f8",
"statusCode": 400,
"retryable": false,
"retryDelay": 96.636396268355
}
Run Code Online (Sandbox Code Playgroud)
第二次,以及此后接下来的每一次,一切都很好。
当我在 Cloudwatch 中检查 main-devryan-users_onCognitoLogin 函数的日志时,它在 2.3 秒内成功完成:
REPORT RequestId: 1f2d5a22-8cbe-11e7-ba74-5b21665a40c1 Duration: 2283.60 ms Billed Duration: 2300 ms Memory Size: 128 MB Max Memory Used: 51 MB
Run Code Online (Sandbox Code Playgroud)
每次之后,在一天剩下的时间里,我都没有看到这个错误。我的 Lambda 设置为 30 秒后超时,但我知道Cognito 需要在 5 秒内响应。
我的 lambda 函数只是更新数据库中的上次登录时间。第一次很慢,因为创建与 RDS 数据库的连接大约需要 1.8 秒。我在这部分使用 Node JS 6 和 Sequelize 3。
我猜测 Lambda …
我正在使用以下命令启动单个 ECS Fargate 任务:
aws ecs run-task --cluster Fargate \
--task-definition $ECR_REPO-run-setup
--overrides file:///tmp/ecs-overrides-db-migrate.txt \
--count 1 --launch-type FARGATE \
--network-configuration "awsvpcConfiguration={subnets=[$PUBLIC_SUBNET_1, $PUBLIC_SUBNET_2],securityGroups=[$FARGATE_SG],assignPubli cIp=ENABLED}"
Run Code Online (Sandbox Code Playgroud)
目前我的账户中根本没有运行任何 ECS 服务、任务或实例。这是我得到的回应:
{
"failures": [
{
"reason": "Capacity is unavailable at this time. Please try again later or in a different availability zone"
}
],
"tasks": []
}
Run Code Online (Sandbox Code Playgroud)
我什至看不到为 Fargate 任务指定不同可用区的方法?
如果我应该重试,我应该等待多长时间才能重试?
我正在使用powershell来调用Get-EC2PasswordData,如下所示:
$instances = (Get-EC2Instance -Filter @($envFilter, $stateFilter)).Instances
$instances | Foreach-object {
$instID = $_.InstanceId
Write-Host Getting password to $instID...
$password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\my.pem" -Decrypt
Write-Host Username/Password for $_.PrivateIpAddress is Administrator/$password
}
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
Getting password to i-3e961280 ...
Get-EC2PasswordData : Value cannot be null.
Parameter name: s
At C:\temp\CIS-aws-volumes\copyToMachine.ps1:12 char:17
+ $password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\docs\ssh\ci ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Amazon.PowerShe...swordDataCmdlet:GetEC2PasswordDataCmdlet) [Get-EC2
PasswordData], ArgumentNullException
+ FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.EC2.GetEC2PasswordDataCmdlet
Username/Password for 10.185.30.124 is Administrator/ …
Run Code Online (Sandbox Code Playgroud) 我需要将用户指向他们需要运行的cloudformation堆栈,但我希望能够根据用户对其进行个性化设置.我已经读过这篇文章了,我想创建一个像这样的URL:
请注意中间的"MyParam = blah".用户仍然可以将参数更改为他们想要的任何内容,但我希望能够设置默认值.除了为每个用户编写自定义Cloudformation模板之外的任何想法?
lambda ×2
node.js ×2
amazon-ec2 ×1
amazon-ecs ×1
angularjs ×1
aws-cognito ×1
aws-fargate ×1
bash ×1
gulp ×1
java ×1
javascript ×1
junit ×1
junit4 ×1
linux ×1
powershell ×1
selenium ×1
sequelize.js ×1
webdriver ×1
webdriver-io ×1