У меня есть AWS API Gateway, подключенный к очереди SQS, и я могу отправлять сообщения через консоль и почтальон, используя подпись AWS.
Мне нужно реализовать запрос POST в приложении .Net, и, хотя я получаю ответ Ok, отправленное сообщение не отправляется в очередь. Это мой код:
var signer = new AWS4RequestSigner(AccessKey, SecretKey);
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri(uri)
};
var parameters = new List<KeyValuePair<string, string>>();
parameters.Add(new KeyValuePair<string, string>("Client", client));
parameters.Add(new KeyValuePair<string, string>("Study", study));
request.Content = new FormUrlEncodedContent(parameters);
request = await signer.Sign(request, "execute-api", "eu-west-1");
var client = new HttpClient();
var response = await client.SendAsync(request);
return response.IsSuccessStatusCode;
Без подписавшего я также получаю HTTP 200, но это еще одна «тайна».