Uso de un SDK de Ruby generado por API Gateway para una API REST
En el siguiente procedimiento se muestra cómo crear un SDK de Ruby generado por API Gateway.
nota
En estas instrucciones, se presupone que ya se ha completado el procedimiento descrito en Generación de SDK para las API de REST en API Gateway.
Para instalar, instanciar e invocar un SDK de Ruby generado por API Gateway para una API REST
-
Descomprima el archivo descargado del SDK de Ruby. El código fuente del SDK generado es el siguiente.
-
Cree una gema de Ruby a partir del código fuente del SDK generado. Para ello, utilice los siguientes comandos shell en una ventana del terminal:
# change to /simplecalc-sdk directory cd simplecalc-sdk # build the generated gem gem build simplecalc-sdk.gemspec
Una vez realizada esta operación, simplecalc-sdk-1.0.0.gem pasa a estar disponible.
-
Instale la gema:
gem install simplecalc-sdk-1.0.0.gem
-
Cree una aplicación cliente. Instancie e inicialice el cliente del SDK de Ruby en la aplicación:
require 'simplecalc-sdk' client = SimpleCalc::Client.new( http_wire_trace: true, retry_limit: 5, http_read_timeout: 50 )
Si la API tiene una autorización de tipo
AWS_IAM
, puede incluir las credenciales de AWS del intermediario suministrandoaccessKey
ysecretKey
durante la inicialización: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' )
-
Realice llamadas a la API a través del SDK de la aplicación.
sugerencia
Si no está familiarizado con las convenciones de llamada a métodos del SDK, puede consultar el archivo
client.rb
de la carpetalib
del SDK generado. La carpeta contiene documentación sobre las llamadas a cada uno de los métodos de API compatibles.Para reconocer las operaciones admitidas:
# to show supported operations: puts client.operation_names
Esto genera la siguiente llamada, que corresponde a los métodos de la API
GET /?a={.}&b={.}&op={.}
,GET /{a}/{b}/{op}
yPOST /
, junto con una carga en el formato{a:"…", b:"…", op:"…"}
, respectivamente:[:get_api_root, :get_ab_op, :post_api_root]
Para invocar el método
GET /?a=1&b=2&op=+
de la API, llame al siguiente método del SDK de Ruby:resp = client.get_api_root({a:"1", b:"2", op:"+"})
Para invocar el método
POST /
de la API con una carga{a: "1", b: "2", "op": "+"}
, llame al siguiente método del SDK de Ruby:resp = client.post_api_root(input: {a:"1", b:"2", op:"+"})
Para invocar al método
GET /1/2/+
de la API, llame al siguiente método del SDK de Ruby:resp = client.get_ab_op({a:"1", b:"2", op:"+"})
Las llamadas al método del SDK que se realizan correctamente devuelven la siguiente respuesta:
resp : { result: { input: { a: 1, b: 2, op: "+" }, output: { c: 3 } } }