정리/AWS

APIGateway Lambda with UNITY

원클릭쓰리버그 2022. 1. 24. 16:15
728x90

이번은 Cognito를 통해 토큰을 받았으니 사용해보자.

 

 

흐름

 

 

API Gateway란?

 

 

API 생성하기

우선 AWS APIGateway에 들어가 생성하자.

 

 

Rest API를 만들었다면, 권한 부여자로 이동해서 새로운 권한 부여자를 생성한다.

Cognito로 Token을 받은 사람만 AWS를 쓸 권한을 줄 예정이므로 설정을 아래와 같이 설정한다. 

 

 

테스트 할 람다를 하나 만들자.

 

간단하게 함수 이름을 적어 함수를 생성한다.

 

 

완료 되었다면 Api Gate에 다시 돌아와서 Lambda를 이어준다.

 

먼저 리소스를 생성해준다.

리소스를 만들었다면, 리소스를 클리갛고 매서드를 하위에 생성해준다.

GET을 이용하여 Lambda를 이어주자.

 

 

 

 

 

마지막으로 배포를 눌러 준다. 

UNITY

 

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class ApiManager : MonoBehaviour
{
    private const string Api = "API GATE WAY ENDPOINT";
    
    public Button api_Btn;
    void Awake()
    {
        api_Btn.onClick.AddListener(CallTestApiGet);
    }

    public async void CallTestApi()
    {
        UnityWebRequest webRequest = UnityWebRequest.Get(Api);

        webRequest.SetRequestHeader("Authorization", CredentialsManager._id_token);

        await webRequest.SendWebRequest();
        if (webRequest.result != UnityWebRequest.Result.Success)
        {
            Debug.Log("API call failed: " + webRequest.error + "\n" + webRequest.result + "\n" + webRequest.responseCode);
        }
        else
        {
            Debug.Log("Success, API call complete!");
            Debug.Log(webRequest.downloadHandler.text);
            Debug.Log("Data_" + webRequest.downloadHandler.data);
        }
        webRequest.Dispose();
    }


}

 

위에서 string Api의 경우 API를 배포하면 스테이지를 부여하는데 원하는 리소스의 URL 호출 부분을 긁어와 쓰면 된다.

 

 

UNITY를 빌드하고, 실행시켜주면 

 

정상적으로 나오는걸 확인할 수 있다.

 

 

'정리 > AWS' 카테고리의 다른 글

AWS with Unity (Lambda를 통한 DynamoDB 운영)  (0) 2022.01.25
AWS Cognito (Google) & Unity 구현  (0) 2022.01.21
AWS Cognito를 이용한 소셜 로그인  (0) 2022.01.21