Outgoing WebHooks와 Function App의 연계를 한 이야기
4091 단어 슬랙AzureFunctionsC#
했던 일
Slack의 Outgoing Webhooks를 Azure의 Function App을 사용하여 실현하려고 시도하고 실패 (?)했다.
참고로 한 사이트
htp : // bg.ぃ9ぇ. 네 t/엔 try/2016/04/01/042452
ぃ tp // m / 치케 0905 / ms / 58222 99 460f325 ab8
Azure에서 작업
run.csx
string jsonContent = await req.Content.ReadAsStringAsync();
dynamic data = JsonConvert.DeserializeObject(jsonContent);
return req.CreateResponse(HttpStatusCode.OK, new {
text = $"Hello {data.user_name}!"
});
Slack에서 작업
Outgoing WebHooks의 자세한 사용법은 URL을 참고해 주었으면 한다.
ぃ tp // m / 치케 0905 / ms / 58222 99 460f325 ab8
방금 복사 한 함수의 URL을 이미지의 URL (s)에 붙여 넣습니다.
막상운용
Slack에서 bot를 시작하는 단어를 게시하십시오.
.
.
.
움직이지 않는다.
왜?
Function App의 로그를 보면,
Exception while executing function: Functions.(함수 이름). Newtonsoft.Json: Error parsing boolean value. Path '', line 1, position 1.
라고 출력되고 있다.
즉, Json을 구문 분석 할 때 오류가 발생하여 프로그램이 멈춘 것 같습니다.
그래서 디버그로 Json의 내용을 로그에 출력해 보았다.
그러면 Slack의 데이터 형식이
이 데이터를 & 단락으로 한 형태였다. (소라 오류도 발생합니다)
요약
Slack에서 WebHook이 날아 오는 것이었기 때문에, C#의 Newtonsoft.json에서 확실히 디시리얼라이즈할 수 있다고 생각해 고생했다.
우선 대응으로
하지만 솔직히 멋지지 않기 때문에 개선하고 싶다.
Reference
이 문제에 관하여(Outgoing WebHooks와 Function App의 연계를 한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tenjoufire/items/8a1c45c0f12cd5109ce2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)