Elimina il cluster in Aurora DSQL con AWS SDKs - Amazon Aurora DSQL

Amazon Aurora DSQL viene fornito come servizio di anteprima. Per ulteriori informazioni, consulta le versioni beta e le anteprime nei Termini di servizio. AWS

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

Elimina il cluster in Aurora DSQL con AWS SDKs

Consulta le seguenti informazioni per scoprire come eliminare un cluster in Aurora DSQL.

Python

Per eliminare un cluster in un unico cluster Regione AWS, usa il seguente esempio.

import boto3 def delete_cluster(cluster_id, client): try: return client.delete_cluster(identifier=cluster_id) except: print("Unable to delete cluster " + cluster_id) raise def main(): region = "us-east-1" client = boto3.client("dsql", region_name=region) cluster_id = "foo0bar1baz2quux3quuux4" response = delete_cluster(cluster_id, client) print("Deleting cluster with ID: " + cluster_id + ", Cluster Status: " + response['status']) if __name__ == "__main__": main()

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente.

import boto3 def delete_multi_region_clusters(linkedClusterArns, client): client.delete_multi_region_clusters(linkedClusterArns=linkedClusterArns) def main(): region = "us-east-1" client = boto3.client("dsql", region_name=region) linkedClusterArns = [ "arn:aws:dsql:us-east-1:111111999999::cluster/foo0bar1baz2quux3quuux4", "arn:aws:dsql:us-east-2:111111999999::cluster/bar0foo1baz2quux3quuux4" ] delete_multi_region_clusters(linkedClusterArns, client) print("Deleting clusters with ARNs:", linkedClusterArns) if __name__ == "__main__": main()
C++

L'esempio seguente consente di eliminare un cluster in un singolo Regione AWS.

#include <aws/core/Aws.h> #include <aws/dsql/DSQLClient.h> #include <aws/dsql/model/DeleteClusterRequest.h> #include <iostream> using namespace Aws; using namespace Aws::DSQL; using namespace Aws::DSQL::Model; ClusterStatus deleteCluster(const String& clusterId, DSQLClient& client) { DeleteClusterRequest request; request.SetIdentifier(clusterId); DeleteClusterOutcome outcome = client.DeleteCluster(request); ClusterStatus status = ClusterStatus::NOT_SET; if (outcome.IsSuccess()) { const auto& cluster = outcome.GetResult(); status = cluster.GetStatus(); } else { std::cerr << "Delete operation failed: " << outcome.GetError().GetMessage() << std::endl; } std::cout << "Cluster Status: " << ClusterStatusMapper::GetNameForClusterStatus(status) << std::endl; return status; } int main() { Aws::SDKOptions options; Aws::InitAPI(options); DSQLClientConfiguration clientConfig; clientConfig.region = "us-east-1"; DSQLClient client(clientConfig); String clusterId = "foo0bar1baz2quux3quuux4"; deleteCluster(clusterId, client); Aws::ShutdownAPI(options); return 0; }

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

#include <aws/core/Aws.h> #include <aws/dsql/DSQLClient.h> #include <aws/dsql/model/DeleteMultiRegionClustersRequest.h> #include <iostream> #include <vector> using namespace Aws; using namespace Aws::DSQL; using namespace Aws::DSQL::Model; std::vector<Aws::String> deleteMultiRegionClusters(const std::vector<Aws::String>& linkedClusterArns, DSQLClient& client) { DeleteMultiRegionClustersRequest request; request.SetLinkedClusterArns(linkedClusterArns); DeleteMultiRegionClustersOutcome outcome = client.DeleteMultiRegionClusters(request); if (outcome.IsSuccess()) { std::cout << "Successfully deleted clusters." << std::endl; return linkedClusterArns; } else { std::cerr << "Delete operation failed: " << outcome.GetError().GetMessage() << std::endl; return {}; } } int main() { Aws::SDKOptions options; Aws::InitAPI(options); DSQLClientConfiguration clientConfig; clientConfig.region = "us-east-1"; DSQLClient client(clientConfig); std::vector<Aws::String> linkedClusterArns = { "arn:aws:dsql:us-east-1:111111999999::cluster/foo0bar1baz2quux3quuux4", "arn:aws:dsql:us-east-2:111111999999::cluster/bar0foo1baz2quux3quuux4" }; std::vector<Aws::String> deletedArns = deleteMultiRegionClusters(linkedClusterArns, client); if (!deletedArns.empty()) { std::cout << "Deleted Cluster ARNs: " << std::endl; for (const auto& arn : deletedArns) { std::cout << arn << std::endl; } } Aws::ShutdownAPI(options); return 0; }
JavaScript

Per eliminare un cluster in un unico cluster Regione AWS, utilizzare l'esempio seguente.

import { DSQLClient } from "@aws-sdk/client-dsql"; import { DeleteClusterCommand } from "@aws-sdk/client-dsql"; async function deleteCluster(clusterId, client) { const deleteClusterCommand = new DeleteClusterCommand({ identifier: clusterId, }); try { const response = await client.send(deleteClusterCommand); return response; } catch (error) { if (error.name === "ResourceNotFoundException") { console.log("Cluster ID not found or already deleted"); } else { console.error("Unable to delete cluster: ", error.message); } throw error; } } async function main() { const region = "us-east-1"; const client = new DSQLClient({ region }); const clusterId = "foo0bar1baz2quux3quuux4"; const response = await deleteCluster(clusterId, client); console.log("Deleting Cluster with Id:", clusterId, "- Cluster Status:", response.status); } main();

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

import { DSQLClient } from "@aws-sdk/client-dsql"; import { DeleteMultiRegionClustersCommand } from "@aws-sdk/client-dsql"; async function deleteMultiRegionClusters(linkedClusterArns, client) { const deleteMultiRegionClustersCommand = new DeleteMultiRegionClustersCommand({ linkedClusterArns: linkedClusterArns, }); try { const response = await client.send(deleteMultiRegionClustersCommand); return response; } catch (error) { if (error.name === "ResourceNotFoundException") { console.log("Some or all Cluster ARNs not found or already deleted"); } else { console.error("Unable to delete multi-region clusters: ", error.message); } throw error; } } async function main() { const region = "us-east-1"; const client = new DSQLClient({ region }); const linkedClusterArns = [ "arn:aws:dsql:us-east-1:111111999999::cluster/foo0bar1baz2quux3quuux4", "arn:aws:dsql:us-east-2:111111999999::cluster/bar0foo1baz2quux3quuux4" ]; const response = await deleteMultiRegionClusters(linkedClusterArns, client); console.log("Deleting Clusters with ARNs:", linkedClusterArns); } main();
Java

Per eliminare un cluster in un unico cluster Regione AWS, utilizzare l'esempio seguente.

import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.retry.RetryMode; import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.retries.StandardRetryStrategy; import software.amazon.awssdk.services.dsql.DsqlClient; import software.amazon.awssdk.services.dsql.model.DeleteClusterRequest; import software.amazon.awssdk.services.dsql.model.DeleteClusterResponse; import software.amazon.awssdk.services.dsql.model.ResourceNotFoundException; import java.net.URI; public class DeleteCluster { public static void main(String[] args) { Region region = Region.US_EAST_1; ClientOverrideConfiguration clientOverrideConfiguration = ClientOverrideConfiguration.builder() .retryStrategy(StandardRetryStrategy.builder().build()) .build(); DsqlClient client = DsqlClient.builder() .httpClient(UrlConnectionHttpClient.create()) .overrideConfiguration(clientOverrideConfiguration) .region(region) .credentialsProvider(DefaultCredentialsProvider.create()) .build(); String cluster_id = "foo0bar1baz2quux3quuux4"; DeleteClusterResponse response = deleteCluster(cluster_id, client); System.out.println("Deleting Cluster with ID: " + cluster_id + ", Status: " + response.status()); } public static DeleteClusterResponse deleteCluster(String cluster_id, DsqlClient client) { DeleteClusterRequest deleteClusterRequest = DeleteClusterRequest.builder() .identifier(cluster_id) .build(); try { return client.deleteCluster(deleteClusterRequest); } catch (ResourceNotFoundException rnfe) { System.out.println("Cluster id is not found / deleted"); throw rnfe; } catch (Exception e) { System.out.println("Unable to poll cluster status: " + e.getMessage()); throw e; } } }

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.retry.RetryPolicy; import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.dsql.DsqlClient; import software.amazon.awssdk.services.dsql.model.DeleteMultiRegionClustersRequest; import software.amazon.awssdk.services.dsql.model.DeleteMultiRegionClustersResponse; import java.net.URI; import java.util.Arrays; import java.util.List; public class DeleteMultiRegionClusters { public static void main(String[] args) { Region region = Region.US_EAST_1; ClientOverrideConfiguration clientOverrideConfiguration = ClientOverrideConfiguration.builder() .retryStrategy(StandardRetryStrategy.builder().build()) .build(); DsqlClient client = DsqlClient.builder() .httpClient(UrlConnectionHttpClient.create()) .overrideConfiguration(clientOverrideConfiguration) .region(region) .credentialsProvider(DefaultCredentialsProvider.create()) .build(); List<String> linkedClusterArns = Arrays.asList( "arn:aws:dsql:us-east-1:111111999999::cluster/foo0bar1baz2quux3quuux4", "arn:aws:dsql:us-east-2:111111999999::cluster/bar0foo1baz2quux3quuux4" ); deleteMultiRegionClusters(linkedClusterArns, client); System.out.println("Deleting Clusters with ARNs: " + linkedClusterArns); } public static void deleteMultiRegionClusters(List<String> linkedClusterArns, DsqlClient client) { DeleteMultiRegionClustersRequest deleteMultiRegionClustersRequest = DeleteMultiRegionClustersRequest.builder() .linkedClusterArns(linkedClusterArns) .build(); try { client.deleteMultiRegionClusters(deleteMultiRegionClustersRequest); } catch (Exception e) { System.out.println("Unable to delete multi-region clusters: " + e.getMessage()); throw e; } } }
Rust

Per eliminare un cluster in un unico cluster Regione AWS, utilizzare l'esempio seguente.

use aws_config::load_defaults; use aws_sdk_dsql::{config::{BehaviorVersion, Region}, Client, Config}; /// Create a client. We will use this later for performing operations on the cluster. async fn dsql_client(region: &'static str) -> Client { // Load default SDK configuration let sdk_defaults = load_defaults(BehaviorVersion::latest()).await; // You can set your own credentials by following this guide // https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html let credentials = sdk_defaults .credentials_provider() .unwrap(); let config = Config::builder() .behavior_version(BehaviorVersion::latest()) .credentials_provider(credentials) .region(Region::new(region)) .build(); Client::from_conf(config) } // Delete a DSQL cluster pub async fn delete_cluster(region: &'static str, identifier: String) { let client = dsql_client(region).await; let delete_response = client .delete_cluster() .identifier(identifier) .send() .await .unwrap(); assert_eq!(delete_response.status().as_str(), "DELETING"); } #[tokio::main(flavor = "current_thread")] pub async fn main() -> anyhow::Result<()> { let region = "us-east-1"; delete_cluster(region, "<cluster to be deleted>".to_owned()).await; Ok(()) }

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

use aws_config::load_defaults; use aws_sdk_dsql::{config::{BehaviorVersion, Region}, Client, Config}; use aws_sdk_dsql::operation::RequestId; /// Create a client. We will use this later for performing operations on the cluster. async fn dsql_client(region: &'static str) -> Client { // Load default SDK configuration let sdk_defaults = load_defaults(BehaviorVersion::latest()).await; // You can set your own credentials by following this guide // https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html let credentials = sdk_defaults .credentials_provider() .unwrap(); let config = Config::builder() .behavior_version(BehaviorVersion::latest()) .credentials_provider(credentials) .region(Region::new(region)) .build(); Client::from_conf(config) } // Delete a Multi region DSQL cluster pub async fn delete_multi_region_cluster(region: &'static str, arns: Vec<String>) { let client = dsql_client(region).await; let delete_response = client .delete_multi_region_clusters() .set_linked_cluster_arns(Some(arns)) .send() .await .unwrap(); assert!(delete_response.request_id().is_some()); } #[tokio::main(flavor = "current_thread")] pub async fn main() -> anyhow::Result<()> { let region = "us-east-1"; let arns = vec![ "<cluster arn from us-east-1>".to_owned(), "<cluster arn from us-east-2>".to_owned() ]; delete_multi_region_cluster(region, arns).await; Ok(()) }
Ruby

Per eliminare un cluster in un unico cluster Regione AWS, utilizzare l'esempio seguente.

require 'aws-sdk-core' require 'aws-sdk-dsql' def delete_cluster(region, identifier) begin # Create client with default configuration and credentials client = Aws::DSQL::Client.new(region: region) delete_response = client.delete_cluster( identifier: identifier ) raise "Unexpected status when deleting cluster: #{delete_response.status}" unless delete_response.status == 'DELETING' delete_response rescue Aws::Errors::ServiceError => e raise "Failed to delete cluster: #{e.message}" end end

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

require 'aws-sdk-core' require 'aws-sdk-dsql' def delete_multi_region_cluster(region, arns) begin # Create client with default configuration and credentials client = Aws::DSQL::Client.new(region: region) client.delete_multi_region_clusters( linked_cluster_arns: arns ) rescue Aws::Errors::ServiceError => e raise "Failed to delete multi-region cluster: #{e.message}" end end
.NET

Per eliminare un cluster in un unico cluster Regione AWS, utilizzare l'esempio seguente.

using Amazon; using Amazon.DSQL; using Amazon.DSQL.Model; using Amazon.Runtime; class SingleRegionClusterDeletion { public static async Task<DeleteClusterResponse> Delete(RegionEndpoint region, string clusterId) { // Create the sdk client AWSCredentials awsCredentials = FallbackCredentialsFactory.GetCredentials(); AmazonDSQLConfig clientConfig = new() { AuthenticationServiceName = "dsql", RegionEndpoint = region }; AmazonDSQLClient client = new(awsCredentials, clientConfig); // Delete a single region cluster DeleteClusterRequest deleteClusterRequest = new() { Identifier = clusterId }; DeleteClusterResponse deleteClusterResponse = await client.DeleteClusterAsync(deleteClusterRequest); Console.WriteLine(deleteClusterResponse.Status); return deleteClusterResponse; } }

Per eliminare un cluster multiregionale, utilizzare l'esempio seguente. L'eliminazione di un cluster multiregionale potrebbe richiedere del tempo.

using Amazon; using Amazon.DSQL; using Amazon.DSQL.Model; using Amazon.Runtime; class MultiRegionClusterDeletion { public static async Task Delete(RegionEndpoint region, List<string> arns) { // Create the sdk client AWSCredentials awsCredentials = FallbackCredentialsFactory.GetCredentials(); AmazonDSQLConfig clientConfig = new() { AuthenticationServiceName = "dsql", RegionEndpoint = region }; AmazonDSQLClient client = new(awsCredentials, clientConfig); // Delete a multi region clusters DeleteMultiRegionClustersRequest deleteMultiRegionClustersRequest = new() { LinkedClusterArns = arns }; DeleteMultiRegionClustersResponse deleteMultiRegionClustersResponse = await client.DeleteMultiRegionClustersAsync(deleteMultiRegionClustersRequest); Console.WriteLine(deleteMultiRegionClustersResponse.ResponseMetadata.RequestId); } }