文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreateDBCluster
搭配 AWS SDK 使用
下列程式碼範例示範如何使用 CreateDBCluster
。
- Java
-
- SDK for Java 2.x
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 /** * Creates a new Amazon Neptune DB cluster asynchronously. * * @param dbName the name of the DB cluster to be created * @return a CompletableFuture that, when completed, provides the ID of the created DB cluster * @throws CompletionException if the operation fails for any reason, including if the request would exceed the maximum quota */ public CompletableFuture<String> createDBClusterAsync(String dbName) { CreateDbClusterRequest request = CreateDbClusterRequest.builder() .dbClusterIdentifier(dbName) .engine("neptune") .deletionProtection(false) .backupRetentionPeriod(1) .build(); return getAsyncClient().createDBCluster(request) .whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception.getCause(); if (cause instanceof ServiceQuotaExceededException) { throw new CompletionException("The operation was denied because the request would exceed the maximum quota.", cause); } throw new CompletionException("Failed to create Neptune DB cluster: " + exception.getMessage(), exception); } }) .thenApply(response -> { String clusterId = response.dbCluster().dbClusterIdentifier(); logger.info("DB Cluster created: " + clusterId); return clusterId; }); }
-
如需 API 詳細資訊,請參閱《AWS SDK for Java 2.x API 參考》中的 CreateDBCluster。
-
- Python
-
- SDK for Python (Boto3)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 def create_db_cluster(neptune_client, db_name: str) -> str: """ Creates a Neptune DB cluster and returns its identifier. Args: neptune_client (boto3.client): The Neptune client object. db_name (str): The desired cluster identifier. Returns: str: The DB cluster identifier. Raises: RuntimeError: For any failure or AWS error, with a user-friendly message. """ request = { 'DBClusterIdentifier': db_name, 'Engine': 'neptune', 'DeletionProtection': False, 'BackupRetentionPeriod': 1 } try: response = neptune_client.create_db_cluster(**request) cluster = response.get('DBCluster') or {} cluster_id = cluster.get('DBClusterIdentifier') if not cluster_id: raise RuntimeError("Cluster created but no ID returned.") print(f"DB Cluster created: {cluster_id}") return cluster_id except ClientError as e: code = e.response["Error"]["Code"] message = e.response["Error"]["Message"] if code in ("ServiceQuotaExceededException", "DBClusterQuotaExceededFault"): raise RuntimeError("You have exceeded the quota for Neptune DB clusters.") from e else: raise RuntimeError(f"AWS error [{code}]: {message}") from e except Exception as e: raise RuntimeError(f"Unexpected error creating DB cluster '{db_name}': {e}") from e
-
如需 API 詳細資訊,請參閱《適用於 Python (Boto3) 的AWS SDK API 參考》中的 CreateDBCluster。
-
動作
CreateDBInstance