Hello Amazon Neptune - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Hello Amazon Neptune

L’esempio di codice seguente mostra come iniziare a utilizzare Neptune.

Java
SDK per Java 2.x
Nota

Ulteriori informazioni 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 */ public class HelloNeptune { public static void main(String[] args) { NeptuneAsyncClient neptuneClient = NeptuneAsyncClient.create(); describeDbCluster(neptuneClient).join(); // This ensures the async code runs to completion } /** * Describes the Amazon Neptune DB clusters. * * @param neptuneClient the Neptune asynchronous client used to make the request * @return a {@link CompletableFuture} that completes when the operation is finished */ public static CompletableFuture<Void> describeDbCluster(NeptuneAsyncClient neptuneClient) { DescribeDbClustersRequest request = DescribeDbClustersRequest.builder() .maxRecords(20) .build(); SdkPublisher<DescribeDbClustersResponse> paginator = neptuneClient.describeDBClustersPaginator(request); CompletableFuture<Void> future = new CompletableFuture<>(); paginator.subscribe(new Subscriber<DescribeDbClustersResponse>() { private Subscription subscription; @Override public void onSubscribe(Subscription s) { this.subscription = s; s.request(Long.MAX_VALUE); // request all items } @Override public void onNext(DescribeDbClustersResponse response) { response.dbClusters().forEach(cluster -> { System.out.println("Cluster Identifier: " + cluster.dbClusterIdentifier()); System.out.println("Status: " + cluster.status()); }); } @Override public void onError(Throwable t) { future.completeExceptionally(t); } @Override public void onComplete() { future.complete(null); } }); return future.whenComplete((result, throwable) -> { neptuneClient.close(); if (throwable != null) { System.err.println("Error describing DB clusters: " + throwable.getMessage()); } }); }
  • Per informazioni dettagliate sull’API, consulta DescribeDBClustersPaginator nella documentazione di riferimento dell’API AWS SDK for Java 2.x.

Python
SDK per Python (Boto3)
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

import boto3 from botocore.exceptions import ClientError def describe_db_clusters(neptune_client): """ Describes the Amazon Neptune DB clusters using a paginator to handle multiple pages. Raises ClientError with 'ResourceNotFoundException' if no clusters are found. """ paginator = neptune_client.get_paginator("describe_db_clusters") clusters_found = False for page in paginator.paginate(): for cluster in page.get("DBClusters", []): clusters_found = True print(f"Cluster Identifier: {cluster['DBClusterIdentifier']}") print(f"Status: {cluster['Status']}") if not clusters_found: raise ClientError( { "Error": { "Code": "ResourceNotFoundException", "Message": "No Neptune DB clusters found." } }, operation_name="DescribeDBClusters" ) def main(): """ Main entry point: creates the Neptune client and calls the describe operation. """ neptune_client = boto3.client("neptune") try: describe_db_clusters(neptune_client) except ClientError as e: error_code = e.response["Error"]["Code"] if error_code == "ResourceNotFoundException": print(f"Resource not found: {e.response['Error']['Message']}") else: print(f"Unexpected ClientError: {e.response['Error']['Message']}") except Exception as e: print(f"Unexpected error: {str(e)}") if __name__ == "__main__": main()
  • Per informazioni dettagliate sull’API, consulta DescribeDBClustersPaginator nella documentazione di riferimento dell’API AWS SDK per Python (Boto3).