

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di un SDK Ruby generato da API Gateway per un'API REST
<a name="how-to-call-sdk-ruby"></a>

La seguente procedura mostra come utilizzare un SDK Ruby generato da Gateway API.

**Nota**  
Queste istruzioni presuppongono che sia già stata completata la procedura in [Genera SDKs per REST APIs in API Gateway](how-to-generate-sdk.md).

**Per installare, creare istanze e chiamare un SDK Ruby generato da API Gateway per un'API REST**

1. Decomprimi il file SDK Ruby scaricato. L'origine dell'SDK generato viene mostrata come segue.  
![\[Decomprimere il file SDK Ruby scaricato in un modulo Ruby\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/ruby-gem-of-generated-sdk-for-simplecalc.png)

   

1.  Crea una gem Ruby dall'origine dell'SDK generato utilizzando i comandi della shell seguenti in una finestra del terminale:

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

   Dopo questa operazione, **simplecalc-sdk-1.0.0.gem** diventa disponibile.

1.  Installa la gem:

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

1.  Crea un'applicazione client. Crea un'istanza e inizializza il client SDK Ruby nell'app:

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

   Se l'API dispone di un'autorizzazione del `AWS_IAM` tipo configurato, è possibile includere le AWS credenziali del chiamante fornendo `accessKey` e `secretKey` durante l'inizializzazione:

   ```
   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.  Fai chiamate API mediante l'SDK nell'app. 
**Suggerimento**  
 Se non hai familiarità con le convenzioni delle chiamate ai metodi SDK, esamina il file `client.rb` nella cartella `lib` dell'SDK generato. La cartella contiene la documentazione relativa a ciascuna chiamata ai metodi API supportati.

   Per conoscere le operazioni supportate:

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

   I risultati sono visualizzati di seguito e corrispondono ai metodi API rispettivamente di `GET /?a={.}&b={.}&op={.}`, `GET /{a}/{b}/{op}` e `POST /`, oltre a un payload del formato `{a:"…", b:"…", op:"…"}`:

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

   Per invocare il metodo API `GET /?a=1&b=2&op=+`, chiama il metodo SDK Ruby seguente:

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

   Per invocare il metodo API `POST /` con un payload di `{a: "1", b: "2", "op": "+"}`, chiama il metodo SDK Ruby seguente:

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

   Per invocare il metodo API `GET /1/2/+`, chiama il metodo SDK Ruby seguente:

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

   Le chiamate ai metodi SDK che riescono restituiscono la risposta seguente:

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