Успешный вызов лямбда-функции Python AWS завершен, но индекс эластичного поиска не создан - PullRequest
0 голосов
/ 12 декабря 2018

Предостережение: я опытный разработчик C #, но новичок в Python.Я создал функцию Python AWS Lambda, которую я ожидаю опубликовать в своем сервисе AWS ElasticSearch для создания нового индекса.

Функция завершается успешно без сообщений об ошибках, но в моем домене ES нет активности (я ожидал, что будет создан новый индекс).Код и результат приведены ниже (я использую данные теста JSON из консоли AWS).Я, вероятно, нуждаюсь в некоторой обработке исключений, но не уверен, как получить результат от сообщения ES?

Допустим следующее: - У меня есть переменные среды Lambda для ключа доступа, секретного ключа и конечной точки ES.Я настроил свой домен ES с правильной политикой доступа для данного пользователя IAM.

Код:

from __future__ import print_function
from requests_aws4auth import AWS4Auth
import boto3
import requests
import json
import os

def send_signed(method, url, service='es', region='ap-southeast-2', body=None):
    credentials = boto3.Session().get_credentials()
    auth = AWS4Auth(os.environ['ACCESS_KEY_ID'], os.environ['SECRET_ACCESS_KEY'], 
                  region, service, session_token=credentials.token)

    fn = getattr(requests, method)
    if body and not body.endswith("\n"):
        body += "\n"
    fn(url, auth=auth, data=body, 
       headers={"Content-Type":"application/json"})


def lambda_handler(event, context):
    print("Executing function handler")
    print("Event incoming: " + json.dumps(event,indent=2))

    url = os.environ['ES_ENDPOINT']
    doc = json.dumps(event,indent=2)
    send_signed('post', url, body=doc)

Результат в консоли:

START RequestId: 8e41edee-fda0-11e8-949a-357d7cb2ae6f Version: $LATEST
Executing function handler
Event incoming: {
  "key3": "value3", 
  "key2": "value2", 
  "key1": "value1"
}
END RequestId: 8e41edee-fda0-11e8-949a-357d7cb2ae6f
REPORT RequestId: 8e41edee-fda0-11e8-949a-357d7cb2ae6f  Duration: 386.81 ms Billed Duration: 400 ms     Memory Size: 128 MB Max Memory Used: 36 MB  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...