D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de code pour Neptune utilisant AWS SDKs
Les exemples de code suivants vous montrent comment utiliser Amazon Neptune avec un kit de développement AWS logiciel (SDK).
Les principes de base sont des exemples de code qui vous montrent comment effectuer les opérations essentielles au sein d’un service.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Les Scénarios sont des exemples de code qui vous montrent comment accomplir des tâches spécifiques en appelant plusieurs fonctions au sein d’un même service ou combinés à d’autres Services AWS.
Ressources supplémentaires
Mise en route
Les exemples de code suivants montrent comment commencer à utiliser Neptune.
- Java
-
- SDK pour Java 2.x
-
/**
* 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());
}
});
}
- Python
-
- SDK pour Python (Boto3)
-
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()