Как скрипт Python в AWS EC2 может взаимодействовать с ServiceNow REST API - PullRequest
3 голосов
/ 10 июля 2019

Я пытаюсь узнать, как сообщить ServiceNow через REST API, что я обновил запись в MySQL (AWS RDS), используя скрипт Python (в AWS EC2 Windows Server 2012) для получения этой обновленной записи. Какие конкретные библиотеки / модули Python я должен изучить, чтобы направить меня в правильном направлении?

В настоящее время мой Python-скрипт и MySQL RDS взаимодействуют просто отлично.

Я все еще пытаюсь лучше понять API REST и AWS EC2.

Будем весьма благодарны за любую другую информацию, связанную с AWS, ServiceNow или Python, которой можно поделиться.

1 Ответ

1 голос
/ 11 июля 2019

API-интерфейс REST для таблицы ServiceNow очень прост, поэтому вставка записи в произвольную таблицу с помощью Python является легкой задачей. Например:

#Need to install requests package for python
#easy_install requests
import requests

# Set the request parameters
url = 'https://[instance name].service-now.com/api/now/table/[table name]'

# Eg. User name="admin", Password="admin" for this code sample.
user = 'admin'
pwd = 'admin'

# Set proper headers
headers = {"Content-Type":"application/json","Accept":"application/json"}

# Do the HTTP request - this is fake data
response = requests.post(url, auth=(user, pwd), headers=headers ,data="[your json string of fields and values]")

# Check for HTTP codes other than 200
if response.status_code != 200: 
    print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:',response.json())
    exit()

# Decode the JSON response into a dictionary and use the data
data = response.json()
print(data)

REST API Explorer в ServiceNow, если он очень полезен для построения и тестирования запросов. Он даже генерирует пример кода. Вы можете найти REST API Explorer в навигаторе, чтобы найти его.

Другим вариантом является создание API-интерфейса сценариев REST в ServiceNow для создания настраиваемого URL-адреса, по которому можно нажать для получения уведомления. Это хорошо, если вам не нужно сохранять данные и просто хотите получать уведомления.

...