

# API Gateway에서 생성한 REST API용 Ruby SDK 사용
<a name="how-to-call-sdk-ruby"></a>

다음 절차에서는 API Gateway에서 생성한 Ruby SDK를 사용하는 방법을 보여줍니다.

**참고**  
이 지침에서는 [API Gateway에서 REST API SDK 생성](how-to-generate-sdk.md)의 지침을 이미 완료한 것으로 가정합니다.

**API Gateway가 생성한 REST API용 Ruby SDK를 설치, 인스턴스화, 호출하려면**

1. 다운로드한 Ruby SDK 파일 압축을 풉니다. 생성된 SDK 원본은 다음과 같이 표시됩니다.  
![\[다운로드한 Ruby SDK 파일을 Ruby 모듈에 압축 해제\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/ruby-gem-of-generated-sdk-for-simplecalc.png)

   

1.  터미널 창에서 다음 셸 명령을 사용하여 생성된 SDK 원본에서 Ruby Gem을 구축합니다.

   ```
   # change to /simplecalc-sdk directory
   cd simplecalc-sdk
   
   # build the generated gem
   gem build simplecalc-sdk.gemspec
   ```

   이 작업 후 **simplecalc-sdk-1.0.0.gem**을 사용할 수 있게 됩니다.

1.  Gem 설치:

   ```
   gem install simplecalc-sdk-1.0.0.gem
   ```

1.  클라이언트 애플리케이션을 생성합니다. 앱에서 Ruby SDK 클라이언트를 인스턴스화하고 초기화합니다.

   ```
   require 'simplecalc-sdk'
   client = SimpleCalc::Client.new(
       http_wire_trace: true,
       retry_limit: 5,
       http_read_timeout: 50
   )
   ```

   API에 `AWS_IAM` 유형의 권한 부여가 구성되어 있는 경우, 초기화 도중 `accessKey` 및 `secretKey`를 제공하여 호출자의 AWS 자격 증명을 포함할 수 있습니다.

   ```
   require 'pet-sdk'
   client = Pet::Client.new(
       http_wire_trace: true,
       retry_limit: 5,
       http_read_timeout: 50,
       access_key_id: 'ACCESS_KEY',
       secret_access_key: 'SECRET_KEY'
   )
   ```

1.  앱에서 SDK를 통해 API를 호출합니다.
**작은 정보**  
 SDK 메서드 호출 규칙에 익숙하지 않다면 생성된 SDK `client.rb` 폴더에 있는 `lib` 파일을 검토할 수 있습니다. 이 폴더에는 지원되는 각각의 API 메서드 호출 설명서가 포함되어 있습니다.

   지원되는 연산을 검색하려면

   ```
   # to show supported operations:
   puts client.operation_names
   ```

   이로 인해 각각 `GET /?a={.}&b={.}&op={.}`, `GET /{a}/{b}/{op}` 및 `POST /` API 메서드와 `{a:"…", b:"…", op:"…"}` 형식의 페이로드에 해당하는 다음의 표시가 나타납니다.

   ```
   [:get_api_root, :get_ab_op, :post_api_root]
   ```

   `GET /?a=1&b=2&op=+` API 메서드를 호출하려면 다음 Ruby SDK 메서드를 호출하세요.

   ```
   resp = client.get_api_root({a:"1", b:"2", op:"+"})
   ```

   `POST /` 페이로드가 포함된 `{a: "1", b: "2", "op": "+"}` API 메서드를 호출하려면 다음 Ruby SDK 메서드를 호출하세요.

   ```
   resp = client.post_api_root(input: {a:"1", b:"2", op:"+"})
   ```

   `GET /1/2/+` API 메서드를 호출하려면 다음 Ruby SDK 메서드를 호출하세요.

   ```
   resp = client.get_ab_op({a:"1", b:"2", op:"+"})
   ```

   SDK 메서드 호출이 성공하면 다음과 같은 응답을 반환합니다.

   ```
   resp : {
       result: {
           input: {
               a: 1,
               b: 2,
               op: "+"
           },
           output: {
               c: 3
           }
       }
   }
   ```