Как получить данные, которые имеют определенный дочерний ключ, используя Pyrebase

Я бы не сделал этого для интенсивного трафика или критически важных вещей, ОДНАКО, если вам НЕ нужно получать обратную связь от службы, то на самом деле это замечательно.

Вот пример того, что я сделал.

  1. Триггеры Вставка и обновление в таблице
  2. Триггер называется Stored Proc, который передает JSON данные транзакции в конечную точку Web Api, которая затем вставляет в MongoDB в AWS.

Не делайте старый XML

JSON

EXEC sp_OACreate 'WinHttp.WinHttpRequest.5.1', @Object OUT;
EXEC sp_OAMethod @Object, 'Open', NULL, 'POST', 'http://server/api/method', 'false'
EXEC sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'application/json'
DECLARE @len INT = len(@requestBody) 

Полный пример:

Alter Procedure yoursprocname

 @WavName varchar(50),
 @Dnis char(4) 

    AS
BEGIN

    SET NOCOUNT ON;


DECLARE @Object INT;
DECLARE @Status INT;


DECLARE @requestBody NVARCHAR(MAX) = '{
"WavName": "{WavName}",
"Dnis": "{Dnis}"
}'


SET @requestBody = REPLACE(@requestBody, '{WavName}', @WavName)
SET @requestBody = REPLACE(@requestBody, '{Dnis}', @Dnis)


EXEC sp_OACreate 'WinHttp.WinHttpRequest.5.1', @Object OUT;
EXEC sp_OAMethod @Object, 'Open', NULL, 'POST',  'http://server/api/method', 'false'
EXEC sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Type', 'application/json'
DECLARE @len INT = len(@requestBody) 
EXEC sp_OAMethod @Object, 'setRequestHeader', null, 'Content-Length', @len
EXEC sp_OAMethod @Object, 'send', null, @requestBody
EXEC sp_OAGetProperty @Object, 'Status', @Status OUT
EXEC sp_OADestroy @Object
0
задан 2 March 2019 в 04:24
поделиться

1 ответ

Что-то не так с библиотекой Pyrebase. Вот ссылка на проблему.

Решение состоит в том, чтобы добавить эти строки кода в ваше приложение.

# Temporarily replace quote function
def noquote(s):
    return s
pyrebase.pyrebase.quote = noquote
0
ответ дан 2 March 2019 в 04:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: