다른 누구도이 문제를 다루지 않는 경우.
AWS 팀으로부터 3 일간의 지원을받은 후 여기에 2 가지 문제가있는 것 같습니다.
1 - stageVariables (전혀) 변경이 현재 불가능하다는 것을 확인했습니다.
2 - 신체 내의 변수가 $context
및 $authorizer
인 경우 제한 사항이 있습니다. 참고 사항 : AWS 팀이 새 서비스 요청을 작성하여 진행하고 있습니다.
설명합니다 :
는 현재, Node.js를 당신이 데이터는 모든 사용자 정의 변수를 포함합니다 (event
매개 변수 내에서) 람다 함수에 전달되는 전체 페이로드에 액세스 할 수 있습니다. 이것은 C#
동등 물 - Lambda 함수 내에서 APIGatewayProxyRequest 요청 객체를 사용하는 경우와 동일하지 않습니다. 따라서 C#에서 노드 내의 전체 페이로드 (모든 사용자 지정 변수 포함)에 액세스 할 수 있지만 APIGatewayProxyRequest 개체에만 액세스 할 수 있습니다.의 속성 here를 찾을 수 있습니다
또는 짧은 :
public string Body { get; set; }
public IDictionary<string, string> Headers { get; set; }
public string HttpMethod { get; set; }
public bool IsBase64Encoded { get; set; }
public string Path { get; set; }
public IDictionary<string, string> PathParameters { get; set; }
public IDictionary<string, string> QueryStringParameters { get; set; }
public ProxyRequestContext RequestContext { get; set; }
public string Resource { get; set; }
public IDictionary<string, string> StageVariables { get; set; }
을 따라서, 사용자 정의 또는 "알 수없는"개체 (들)에 대한 액세스를 허용하지.
길었던 이야기로 코드를 통해 stageVariables
을 편집 할 수 없으며 전송되는 페이로드 내의 맞춤 변수로 작업하고 싶다면 노드 (event
)를 통해 코딩해야합니다./python을 사용하거나 APIGatewayProxyRequest 객체 내의 기존 속성을 덮어 쓸 수 있습니다.
UPDATE (2 #을 처리하기) : 다음 람다 기능이 될 때까지 약
작품 :
작업이 오는 데이터의 전체 페이로드에 액세스하는 약이있다 APIGatewayProxyRequest 대신 System.IO.Stream을 가져옵니다. 그런 다음 자신을 구문 분석 할 수있는 원본 JSON에 액세스 할 수 있습니다. 해당 JSON에서 필요한 정보를 얻은 다음 JSON을 deserialize하여 APIGatewayProxyRequest로 가져올 수 있습니다.
이것은 지원되지 않습니다. 컨텍스트에서 값을 설정할 수 있지만 http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html의 단계 변수는 변경하지 마십시오. –
@AbhignaNagaraja 알겠습니다. 그렇다면 통합 요청 내에서 컨텍스트 변수를 어떻게 사용 하시겠습니까? 주목해야 할 점은 .NET Core C# – Hexie