Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .
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á.
Use CreateKey com um AWS SDK
Os exemplos de código a seguir mostram como usar o CreateKey.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto no seguinte exemplo de código:
- Java
-
- SDK para Java 2.x
-
/**
* Creates a new API key with the specified name and restrictions.
*
* @param keyName the name of the API key to be created
* @param mapArn the Amazon Resource Name (ARN) of the map resource to which the API key will be associated
* @return a {@link CompletableFuture} that completes with the Amazon Resource Name (ARN) of the created API key,
* or {@code null} if the operation failed
*/
public CompletableFuture<String> createKey(String keyName, String mapArn) {
ApiKeyRestrictions keyRestrictions = ApiKeyRestrictions.builder()
.allowActions("geo:GetMap*")
.allowResources(mapArn)
.build();
CreateKeyRequest request = CreateKeyRequest.builder()
.keyName(keyName)
.restrictions(keyRestrictions)
.noExpiry(true)
.build();
return getClient().createKey(request)
.whenComplete((response, exception) -> {
if (exception != null) {
Throwable cause = exception.getCause();
if (cause instanceof AccessDeniedException) {
throw new CompletionException("The request was denied because of insufficient access or permissions.", cause);
}
throw new CompletionException("Failed to create API key: " + exception.getMessage(), exception);
}
})
.thenApply(response -> response.keyArn()); // This will never return null if the response reaches here
}
- Kotlin
-
- SDK para Kotlin
-
/**
* Creates a new API key with the specified name and restrictions.
*
* @param keyName the name of the API key to be created
* @param mapArn the Amazon Resource Name (ARN) of the map resource to which the API key will be associated
* @return the Amazon Resource Name (ARN) of the created API key
*/
suspend fun createKey(keyName: String, mapArn: String): String {
val keyRestrictions = ApiKeyRestrictions {
allowActions = listOf("geo:GetMap*")
allowResources = listOf(mapArn)
}
val request = CreateKeyRequest {
this.keyName = keyName
this.restrictions = keyRestrictions
noExpiry = true
}
LocationClient.fromEnvironment { region = "us-east-1" }.use { client ->
val response = client.createKey(request)
return response.keyArn
}
}