Esempi di codice per l'utilizzo di Amazon Location AWS SDKs - AWS Esempi di codice SDK

Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK Examples. GitHub

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à.

Esempi di codice per l'utilizzo di Amazon Location AWS SDKs

I seguenti esempi di codice mostrano come utilizzare Amazon Location Service con un kit di sviluppo AWS software (SDK).

Le nozioni di base sono esempi di codice che mostrano come eseguire le operazioni essenziali all'interno di un servizio.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Altre risorse

Nozioni di base

I seguenti esempi di codice mostrano come iniziare a utilizzare Amazon Location Service.

Java
SDK per Java 2.x
Nota

C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

/** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html * * In addition, you need to create a collection using the AWS Management * console. For information, see the following documentation. * * https://docs.aws.amazon.com/location/latest/developerguide/geofence-gs.html */ public class HelloLocation { private static LocationAsyncClient locationAsyncClient; private static final Logger logger = LoggerFactory.getLogger(HelloLocation.class); // This Singleton pattern ensures that only one `LocationClient` // instance. private static LocationAsyncClient getClient() { if (locationAsyncClient == null) { SdkAsyncHttpClient httpClient = NettyNioAsyncHttpClient.builder() .maxConcurrency(100) .connectionTimeout(Duration.ofSeconds(60)) .readTimeout(Duration.ofSeconds(60)) .writeTimeout(Duration.ofSeconds(60)) .build(); ClientOverrideConfiguration overrideConfig = ClientOverrideConfiguration.builder() .apiCallTimeout(Duration.ofMinutes(2)) .apiCallAttemptTimeout(Duration.ofSeconds(90)) .retryStrategy(RetryMode.STANDARD) .build(); locationAsyncClient = LocationAsyncClient.builder() .httpClient(httpClient) .overrideConfiguration(overrideConfig) .build(); } return locationAsyncClient; } public static void main(String[] args) { final String usage = """ Usage: <collectionName> Where: collectionName - The Amazon location collection name. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String collectionName = args[0]; listGeofences(collectionName); } /** * Lists geofences from a specified geofence collection asynchronously. * * @param collectionName The name of the geofence collection to list geofences from. * @return A {@link CompletableFuture} representing the result of the asynchronous operation. * The future completes when all geofences have been processed and logged. */ public static CompletableFuture<Void> listGeofences(String collectionName) { ListGeofencesRequest geofencesRequest = ListGeofencesRequest.builder() .collectionName(collectionName) .build(); ListGeofencesPublisher paginator = getClient().listGeofencesPaginator(geofencesRequest); CompletableFuture<Void> future = paginator.subscribe(response -> { if (response.entries().isEmpty()) { logger.info("No Geofences were found in the collection."); } else { response.entries().forEach(geofence -> logger.info("Geofence ID: " + geofence.geofenceId()) ); } }); return future; } }
JavaScript
SDK per JavaScript (v3)
Nota

C'è altro da fare. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

import { fileURLToPath } from "node:url"; import { LocationClient, ListGeofenceCollectionsCommand, } from "@aws-sdk/client-location"; /** * Lists geofences from a specified geofence collection asynchronously. */ export const main = async () => { const region = "eu-west-1"; const locationClient = new LocationClient({ region: region }); const listGeofenceCollParams = { MaxResults: 100, }; try { const command = new ListGeofenceCollectionsCommand(listGeofenceCollParams); const response = await locationClient.send(command); const geofenceEntries = response.Entries; if (geofenceEntries.length === 0) { console.log("No Geofences were found in the collection."); } else { for (const geofenceEntry of geofenceEntries) { console.log(`Geofence ID: ${geofenceEntry.CollectionName}`); } } } catch (error) { console.error( `A validation error occurred while creating geofence: ${error} \n Exiting program.`, ); return; } };
Kotlin
SDK per Kotlin
Nota

C'è dell'altro GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

/** Before running this Kotlin code example, set up your development environment, including your credentials. For more information, see the following documentation topic: https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/setup.html In addition, you need to create a collection using the AWS Management console. For information, see the following documentation. https://docs.aws.amazon.com/location/latest/developerguide/geofence-gs.html */ suspend fun main(args: Array<String>) { val usage = """ Usage: <colletionName> Where: colletionName - The Amazon location collection name. """ if (args.size != 1) { println(usage) exitProcess(0) } val colletionName = args[0] listGeofences(colletionName) } /** * Lists the geofences for the specified collection name. * * @param collectionName the name of the geofence collection */ suspend fun listGeofences(collectionName: String) { val request = ListGeofencesRequest { this.collectionName = collectionName } LocationClient.fromEnvironment { region = "us-east-1" }.use { client -> val response = client.listGeofences(request) val geofences = response.entries if (geofences.isNullOrEmpty()) { println("No Geofences found") } else { geofences.forEach { geofence -> println("Geofence ID: ${geofence.geofenceId}") } } } }