簡體   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