0

저는 AWS 서버가 덜입니다. 샘플 앱을 만들었습니다. [.Net Core 1.0]을 사용하는 블로그 (Visual Studio에서 제공되는 샘플)를 로컬로 배포하고 테스트하고 싶습니다. 시도했습니다. AWS SAM 로컬LocalStack하지만 .Net Core 응용 프로그램에 대한 명확한 설명이나 단계가 없으므로 혼란 스럽습니다..Net Core에서 로컬로 만든 AWS 서버리스 응용 프로그램 (API 게이트웨이)을 배포하고 테스트하는 방법은 무엇입니까?

누구든지이 응용 프로그램을 로컬로 배포하고 실행할 명확한 단계를 제공 할 수 있습니까?

답변

3

아마존에서 나온 서버리스 샘플은 코드를 로컬에서 실행하는 간단한 "프레스 F5"방식과 함께 제공되지 않습니다.

코드를 로컬에서 테스트하는 가장 쉬운 방법은 단위 테스트로 샘플을 만드는 것입니다. 이 단위 테스트에는 실행할 수 있도록 Functions 클래스를 초기화하는 데 필요한 모든 것이 포함됩니다. 이 코드를 간단한 콘솔 앱으로 옮기거나 로컬에서 테스트하려는 모든 시나리오를 다루는 단위 테스트를 만들 수 있습니다. 내가 서버를 사용을 배포 할 수있는 방법이 있나요, 알고 싶은,

public class FunctionTest : IDisposable 
{ 
    string TableName { get; } 
    IAmazonDynamoDB DDBClient { get; } 

    public FunctionTest() 
    { 
     this.TableName = "AWSServerless2-Blogs-" + DateTime.Now.Ticks; 
     this.DDBClient = new AmazonDynamoDBClient(RegionEndpoint.USWest2); 

     SetupTableAsync().Wait(); 
    } 

    [Fact] 
    public async Task BlogTestAsync() 
    { 
     TestLambdaContext context; 
     APIGatewayProxyRequest request; 
     APIGatewayProxyResponse response; 

     Functions functions = new Functions(this.DDBClient, this.TableName); 

     // Add a new blog post 
     Blog myBlog = new Blog(); 
     myBlog.Name = "The awesome post"; 
     myBlog.Content = "Content for the awesome blog"; 

     request = new APIGatewayProxyRequest 
     { 
      Body = JsonConvert.SerializeObject(myBlog) 
     }; 
     context = new TestLambdaContext(); 
     response = await functions.AddBlogAsync(request, context); 
     Assert.Equal(200, response.StatusCode); 
+0

대답 주셔서 감사하지만 난 이미 비주얼 스튜디오에서 API를 테스트하는 방법을 알고 여기에

프로젝트에서 샘플 단위 테스트입니다 귀하의 지역 환경에서의 응용 프로그램? 내가 말했듯이 AWS SAM Local과 LocalStack을 사용해 보았습니다. AWS SAM Local은 dotnetcore 런타임을 아직 지원하지 않으며 dotnetcore 응용 프로그램에 대한 설명서가 없으므로 locastack을 dotnetcore와 함께 사용하는 방법을 모르겠습니다. – JustAProgrammer

+0

솔직히 말해서, AWS SAM Local이 어떤 것인지 알지 못했습니다. 당신이 말했듯이, 현재 .NET 코어는 지원하지 않습니다. 바라건대 그 지원이 진행되고 있기를 바랍니다. SAM 지역에는 다음과 AWS 런타임을 지원 4.3 는 6.10 파이썬 2.7 파이썬 3.6 java8 http://docs.aws.amazon.com/lambda/latest/dg/test-sam Node.js를 Node.js를 -local.html –