繁体   English   中英

如果 Lambda 返回 400,为什么我在 Azure DevOps 构建管道中的“AWS Lambda 调用函数”任务不会失败?

[英]Why my 'AWS Lambda Invoke Function' task in Azure DevOps Build Pipeline doesn't fail if the Lambda returns 400?

我在 Lambda 中有这个 python 代码:

#This script will run as a Lambda function on AWS.
import time, json

cmdStatus = "Failed"
message = ""
statusCode = 200

def lambda_handler(event, context):    

   time.sleep(2)

   if(cmdStatus=="Failed"):
      message = "Command execution failed"
      statusCode = 400
   elif(cmdStatus=="Success"):
      message = "The script execution is successful"
      statusCode = 200
   else:
      message = "The cmd status is: " + cmdStatus
      statusCode = 500

   return {
      'statusCode': statusCode,
      'body': json.dumps(message) 
   }

我正在从 Azure DevOps Build Pipeline 调用这个 Lambda - AWS Lambda 调用 Z86408DF93C34AF726FDD980。

正如您在上面的代码中所看到的 - 故意将 cmdStatus 设置为 Failed 以使 Lambda 失败,但是当从 Azure DevOps Build Pipeline 执行时 - 任务成功。 奇怪的。

在这种情况下,如何使管道失败? 请帮忙。

谢谢

我自己一直在处理类似的问题,它看起来像是任务本身的一个错误。 这是2019年报道的,此后什么也没发生,所以我不会抱太大希望。

https://github.com/aws/aws-toolkit-azure-devops/issues/175

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM