Usar um SDK Android gerado pelo API Gateway para uma API REST - Amazon API Gateway

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar um SDK Android gerado pelo API Gateway para uma API REST

Nesta seção, descreveremos as etapas para usar um SDK Android gerado pelo API Gateway para uma API REST. Antes de avançar, você já deve ter completado as etapas em Gerar SDKs para uma API usando o console do API Gateway.

nota

O SDK gerado não é compatível com o Android 4.4 e versões anteriores. Para obter mais informações, consulte Notas importantes do Amazon API Gateway.

Para instalar e usar um SDK Android gerado pelo API Gateway
  1. Extraia o conteúdo do arquivo .zip gerado pelo API Gateway que você baixou anteriormente.

  2. Baixe e instale o Apache Maven (de preferência a versão 3.x).

  3. Faça download e instale o JDK 8.

  4. Defina a variável de ambiente JAVA_HOME.

  5. Execute o comando mvn install para instalar os arquivos de artefato compilados no seu repositório Maven local. Isso cria uma pasta target, que contém a biblioteca SDK compilada.

  6. Copie o arquivo do SDK (cujo nome é derivado do ID do Artifact e da versão do Artifact que você especificou ao gerar o SDK, por exemplo, simple-calcsdk-1.0.0.jar) da pasta target, juntamente com todas as outras bibliotecas da pasta target/lib, para a pasta lib do seu projeto.

    Se você usa o Android Studio, crie uma pasta libs no seu módulo de aplicativo cliente e copie o arquivo .jar necessário para essa pasta. Verifique se a seção de dependências no arquivo gradle do módulo contém o seguinte.

    compile fileTree(include: ['*.jar'], dir: 'libs') compile fileTree(include: ['*.jar'], dir: 'app/libs')

    Certifique-se de que nenhum arquivo .jar duplicado seja declarado.

  7. Use a classe ApiClientFactory para inicializar o SDK gerado pelo API Gateway. Por exemplo:

    ApiClientFactory factory = new ApiClientFactory(); // Create an instance of your SDK. Here, 'SimpleCalcClient.java' is the compiled java class for the SDK generated by API Gateway. final SimpleCalcClient client = factory.build(SimpleCalcClient.class); // Invoke a method: // For the 'GET /?a=1&b=2&op=+' method exposed by the API, you can invoke it by calling the following SDK method: Result output = client.rootGet("1", "2", "+"); // where the Result class of the SDK corresponds to the Result model of the API. // // For the 'GET /{a}/{b}/{op}' method exposed by the API, you can call the following SDK method to invoke the request, Result output = client.aBOpGet(a, b, c); // where a, b, c can be "1", "2", "add", respectively. // For the following API method: // POST / // host: ... // Content-Type: application/json // // { "a": 1, "b": 2, "op": "+" } // you can call invoke it by calling the rootPost method of the SDK as follows: Input body = new Input(); input.a=1; input.b=2; input.op="+"; Result output = client.rootPost(body); // where the Input class of the SDK corresponds to the Input model of the API. // Parse the result: // If the 'Result' object is { "a": 1, "b": 2, "op": "add", "c":3"}, you retrieve the result 'c') as String result=output.c;
  8. Para usar um provedor de credenciais do Amazon Cognito para autorizar chamadas para sua API, use a classe ApiClientFactory para transmitir um conjunto de credenciais da AWS usando o SDK gerado pelo API Gateway, como mostra o exemplo a seguir.

    // Use CognitoCachingCredentialsProvider to provide AWS credentials // for the ApiClientFactory AWSCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider( context, // activity context "identityPoolId", // Cognito identity pool id Regions.US_EAST_1 // region of Cognito identity pool ); ApiClientFactory factory = new ApiClientFactory() .credentialsProvider(credentialsProvider);
  9. Para definir uma chave de API usando o SDK gerado pelo API Gateway, use um código semelhante ao seguinte.

    ApiClientFactory factory = new ApiClientFactory() .apiKey("YOUR_API_KEY");