2016-12-06 1 views
2

Adrian Halls 우수 도서 github.ioAzure 웹 훅 오류 : HTTP 요청에 제공된 'code'쿼리 매개 변수가 예상 값과 일치하지 않습니다.

을 기반으로 하늘색 함수 앱에서 aC# 기반 웹 훅을 만들었습니다.

웹 훅 및 앱이 포털에서 테스트 될 때 성공적으로 실행되고 있습니다. 내 컨트롤러에서 webhook을 호출하면 올바른 매개 변수와 URI가 있음을 알 수 있습니다. 그러나 어떤 이유로 내 기능의 응용 프로그램 내 방법을 입력하지 않고 나에게 오류 속담 제공 결코 :

The 'code' query parameter provided in the HTTP request did not match the expected value 

내 문제는 내가 요청에 내 코드 쿼리 매개 변수가 수행하는 것이입니다. 기본적으로 나는 새로운 todoitem이 데이터베이스에 삽입 될 때 Webhook을 트리거하려고합니다.

아무도 문제가 될 수 있습니다.

코드 : API 컨트롤러에서 전화가 푸른

#r "Newtonsoft.Json" 

using System; 
using System.Net; 
using Newtonsoft.Json; 

public static async Task<object> Run(HttpRequestMessage req, TraceWriter log) 
{ 
    log.Info("Webhook triggered"); 
    string jsonContent = await req.Content.ReadAsStringAsync(); 
    dynamic data = JsonConvert.DeserializeObject(jsonContent); 

    log.Info($"Created New Todo ({data.Text}, {data.Complete})"); 

    return req.CreateResponse(HttpStatusCode.OK); 
} 

답변

1

오늘 같은 문제가있었습니다. Azure 기능의 관리 패널로 이동하십시오. 여기에서 작동하는 "기본"키를 복사 할 수 있습니다

1

에서 백엔드에

// POST tables/TodoItem 
public async Task<IHttpActionResult> PostTodoItem(TodoItem item) 
{ 
    TodoItem current = await InsertAsync(item); 
    Webhook.SendAsync<TodoItem>(new Uri(WebhookUri), current); 
    return CreatedAtRoute("Tables", new { id = current.Id }, current); 
} 
백엔드에서

은 webhook 방법

public static async Task<HttpStatusCode> SendAsync<T>(Uri uri, T data) 
{ 
    var httpClient = new HttpClient(); 
    httpClient.BaseAddress = uri; 

    var response = await httpClient.PostAsJsonAsync<T>("",data); 
    return response.StatusCode; 
} 

기능을 방법으로 webhook하는 것은이 버그한다 하늘빛 기능 앱. 나는 그 중 하나를 칠 수 있는지 더 많은 웹 훅 함수를 만들었습니다. 이전과 같은 오류는 발생하지 않습니다. 하지만 그때 나는 내 옛 기능으로 돌아가 갑자기 효과가있었습니다. 나는 왜 내가 테스트 한 나의 새로운 웹 훅 중 하나가 오래된 것의 사본인지 모르며 여전히 작동하지 않는다. 아마도 하늘빛 기능 전문가가 이에 대해 더 많이 알고있을 것입니다. ,

+0

오늘 여기에 있습니다 – Stephane

1

앤더스,

실제로 포털의 키 관리 UI 몇 가지 문제가 있고 사람들은 (당신이 가능성이 순간, 당신에게 here

해결 방법에 영향을 미치는되었다 하나를 추적 할 수 있습니다 해결되고있다 함수의 '키'패널을 열고 코드로 사용하여 '기본'기능 키를 선택하여 적절한 키를 사용하는지 확인하십시오.

요청할 수있는 API가 있습니다. 런타임에서 키를 직접 가져온 다음, API를 호출하여 키를 검색하는 예제입니다. f 또는 주어진 기능 : https://<functionappname>.azurewebsites.net/admin/functions/<functionname>/keys?code=<your 관리 키 >

+0

관리자 또는 기능 키? 기본 URL은 기능 키 –

+0

을 사용합니다. API를 사용 하시겠습니까? admin 키가 필요합니다. –

+0

나는 당신을 믿지만 키를 기본 함수 url과 비교한다면 쿼리 문자열은? code = defaultFunctionKey. 적어도 내 경우에는 알 수 있습니다. 어쨌든 내 논리 애플 리케이션에서 나는 url 함수를 사용하여 http로 하늘색 함수를 대체했으며 작동한다. Logic app과 Azure 함수 사이에 있어야합니다. –

관련 문제