【问题标题】:How to pass Input parameters from api gateway to document incident manager如何将输入参数从 api 网关传递到文档事件管理器
【发布时间】:2022-01-27 22:59:43
【问题描述】:

如何在事件管理器文档中传递输入参数。我有 python 脚本:

import subprocess
from datetime import datetime
import re
import boto3
from botocore.vendored import requests
import json
import datetime
import sys
def script_handler(events, context):
 
 ticketid = events['parameter']
 
 
 assigned_to = events['assigned_to']
 url = "https://xyz-abc.com/api/rtxy/incident/update"
 if assigned_to == "yes":
    payload = json.dumps({
        "number": ticketid,
        "work_notes": "test"
    })
 else:
    payload = json.dumps({
         "number": ticketid,
         "state":"6",
         "work_notes":"Changing the Incident Status to Resolved",
         "resolution_code":"Closed/Resolved by Caller",
         "resolution_notes":"Alert resolved in NOI"
    })
 headers = {
   'Authorization': 'Basic XXXXXXXX==',
   'Content-Type': 'application/json',
 }
 response = requests.request("PUT", url, headers=headers, data=payload)
 print(response.text)
 print(ticketid)
 print(assigned_to)

但是当我输入 postmand 时,它给我的输入参数错误需要 Postman URL 示例:https://xyzabc-api.us-south-1.amazonaws.com/Test?DocumentName=automation&IncidentID=INC0012345&Assigned=yes&Status=open

收到的输出:

“代码”:“InvalidAutomationExecutionParameters”,“消息”:“缺少必需的参数:用户输入中的 IncidentID。”,“类型”:“发件人”

【问题讨论】:

  • 请您修正格式并删除拼写错误。谢谢。
  • 我已经更新了同样的..
  • @ChristianBaumann 更新

标签: python api postman aws-api-gateway aws-systems-manager


【解决方案1】:
import subprocess
from datetime import datetime
import re
import boto3
from botocore.vendored import requests
import json
import datetime
import sys
def script_handler(events, context):
 
 ticketid = events['parameter']
 
 
 assigned_to = events['assigned_to']
 url = "https://xyz-abc.com/api/rtxy/incident/update"
 if assigned_to == "yes":
    payload = json.dumps({
        "number": ticketid,
        "work_notes": "test"
    })
 else:
    payload = json.dumps({
         "number": ticketid,
         "state":"6",
         "work_notes":"Changing the Incident Status to Resolved",
         "resolution_code":"Closed/Resolved by Caller",
         "resolution_notes":"Alert resolved in NOI"
    })
 headers = {
   'Authorization': 'Basic XXXXXXXX==',
   'Content-Type': 'application/json',
 }
 response = requests.request("PUT", url, headers=headers, data=payload)
 print(response.text)
 print(ticketid)
 print(assigned_to)

【讨论】:

  • 代码在附有解释时会更有帮助。 Stack Overflow 是关于学习的,而不是提供 sn-ps 来盲目复制和粘贴。请edit您的问题并解释它如何回答所提出的具体问题。见How to Answer
猜你喜欢
  • 2019-03-18
  • 1970-01-01
  • 2020-11-05
  • 2017-05-19
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多