Hola,
Si necesitan consultar el id de un ApiKey mediante código (en este caso Java) y solo les aparece para hacerlo con CLI (interfaz de línea de comandos de AWS), pueden utilizar el siguiente código, eso sí, deben pasarle el ApiKey.
A nivel del build.gradle va esto:
dependencies {
implementation 'com.amazonaws:aws-lambda-java-core:1.2.0' /**
* AWS
*/
compile group: 'com.amazonaws', name: 'aws-java-sdk-dynamodb', version: '1.11.789'
compile group: 'software.amazon.awssdk', name: 'core', version: '2.0.0-preview-9'
compile group: 'software.amazon.awssdk', name: 'api-gateway', version: '2.0.0-preview-9'
compile group: 'software.amazon.awssdk', name: 'cognitoidp', version: '2.0.0-preview-9'
compile group: 'com.amazonaws', name: 'aws-java-sdk-ec2', version: '1.11.923'
compile group: 'com.amazonaws', name: 'aws-java-sdk-api-gateway', version: '1.11.923'compile "org.slf4j:slf4j-simple:1.6.1"
}
A nivel de la clase propia del método, va esto:
import com.amazonaws.regions.Regions;
import com.amazonaws.services. apigateway.AmazonApiGateway;
import com.amazonaws.services. apigateway. AmazonApiGatewayClientBuilder;
import software.amazon.awssdk.core. AwsRequestOverrideConfig;
import software.amazon.awssdk. services.apigateway. APIGatewayClient;
import software.amazon.awssdk. services.apigateway.model. GetApiKeysRequest;
import software.amazon.awssdk. services.apigateway.model. GetApiKeysResponse;
import java.util.logging.Level;
import java.util.logging.Logger;
private static final java.util.logging.Logger log = Logger.getLogger("
/**
* Metodo encargado de obtener los datos de un ApiKey, como el Id.
*
* @param pStrValorApiKey Define el valor del Apikey
* @return un String
*/
@Override
public String obtenerApiKeyId(String pStrValorApiKey) throws BusinessException {
try (APIGatewayClient apiGatewayClient = APIGatewayClient.create()) {
AwsRequestOverrideConfig awsRequestOverrideConfig = AwsRequestOverrideConfig.builder().build();
GetApiKeysRequest apiKeyRequest = GetApiKeysRequest.
builder().limit(1000000).includeValues(true). requestOverrideConfig(awsRequestOverrideConfig). build();
GetApiKeysResponse getApiKeyResponse = apiGatewayClient.getApiKeys(apiKeyRequest);
for (int i = 0; i < getApiKeyResponse.items().size(); i++) {
if (getApiKeyResponse.items().get(i).value().equals(pStrValorApiKey)) {
return getApiKeyResponse.items().get(i).id();
}
}
}
throw new BusinessException("Error consultando los datos del ApiKey: " + pStrValorApiKey);
}
0 comentarios :
Publicar un comentario