Лямбда-функция AWS не возвращает записей при вызове из форм Xamarin - PullRequest
0 голосов
/ 04 июля 2018

У меня проблемы с попыткой получить информацию от лямбда-функции в AWS. Лямбда-функция находится за шлюзом API.

Если я запускаю функцию прямо из консоли Lambda или из API, все работает нормально. Если я звоню с этим кодом, возвращается [].

У меня не возникает проблем, если токен правильный, и внутри функции Lambda я вижу параметр 'LastUpdate'.

Вот код:

public async Task<string> GetUpdates(long ticksLastCheck, string token)
{
    string Error = "";
    string response = "";

    object data = new
    {
        LastUpdate = ticksLastCheck
    };
    var myContent = JsonConvert.SerializeObject(data);

    var buffer = System.Text.Encoding.UTF8.GetBytes(myContent);
    var byteContent = new ByteArrayContent(buffer);

    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

    _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

    //I have tested without ConfigureAwait and did not work either
    var responseSync = await _client.PostAsync("getUpdates", byteContent).ConfigureAwait(false);
    if (responseSync != null)
    {
         //I have tested with await and did not work either. With await ".Result" should be removed from the line below.
         var response2 = responseSync.Content.ReadAsStringAsync(); 
                response = response2.Result;
    }
    return response;
}

Если я позвоню от Почтальона, то это тоже работает. Есть ли какой-либо заголовок или параметр, который отправляет Почтальон, а я пропускаю?

1 Ответ

0 голосов
/ 05 июля 2018

Мой плохой. Поле в DynamoDB - это строка, и я отправлял ее как длинную и никогда не преобразовывал в строку.

Итак, как только я изменюсь:

object data = new
{
    LastUpdate = ticksLastCheck
};

в это

object data = new
{
    LastUpdate = ticksLastCheck.ToString()
};

Я получаю ожидаемый ответ.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...