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á.
Exemplos de código para Neptune usando AWS SDKs
Os exemplos de código a seguir mostram como usar o Amazon Neptune com AWS um kit de desenvolvimento de software (SDK).
As noções básicas são exemplos de código que mostram como realizar as operações essenciais em um serviço.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cenários são exemplos de código que mostram como realizar tarefas específicas chamando várias funções dentro de um serviço ou combinadas com outros Serviços da AWS.
Mais atributos
Guia do usuário do Neptune — Mais informações sobre o Neptune.
Referência da API Neptune — Detalhes sobre todas as ações disponíveis do Neptune.
AWS Centro do desenvolvedor — exemplos de código que você pode filtrar por categoria ou pesquisa de texto completo.
AWS Exemplos de SDK — GitHub repositório com código completo nos idiomas preferidos. Inclui instruções para configurar e executar o código.
Conceitos básicos
Os exemplos de código a seguir mostram como começar a usar o Neptune.
- Java
-
- SDK para 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 para 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()