Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Herstellen einer Verbindung zu Ihrem DB--Cluster mithilfe der IAM-Authentifizierung und AWS SDK for .NET
Sie können sich mit dem AWS SDK for .NET wie nachfolgend beschrieben mit einer Aurora-MySQL- oder Aurora-PostgreSQL-DB-Cluster verbinden.
Voraussetzungen
Die folgenden Voraussetzungen gelten für die Verbindung mit Ihrem DB--Cluster mithilfe der IAM-Authentifizierung:
Beispiele
In den folgenden Beispielcodes wird gezeigt, wie Sie ein Authentifizierungstoken erzeugen und anschließend zum Verbinden mit einem DB-Cluster verwenden.
Um dieses Codebeispiel auszuführen, benötigen Sie das AWS SDK for .NETAWSSDK.CORE
- und die AWSSDK.RDS
-Pakete sind erforderlich. Um eine Verbindung mit einer DB-Cluster herzustellen, verwenden Sie den .NET-Datenbankkonnektor für die DB-Engine, z. B. MySqlConnector für MariaDB oder MySQL oder Npgsql für PostgreSQL.
Dieser Code stellt eine Verbindung mit einem Aurora MySQL DB-Cluster her. Ändern Sie die Werte der folgenden Parameter nach Bedarf.
-
server
– Der Endpunkt des DB--Clusters, auf den Sie zugreifen möchten. -
user
– Das Datenbankkonto, auf das Sie zugreifen möchten. -
database
– Die Datenbank, auf die Sie zugreifen möchten. -
port
– Die Nummer des Ports, der für die Verbindung mit dem DB--Cluster verwendet wird. -
SslMode
– Der zu verwendende SSL-Modus.Wenn Sie
SslMode=Required
verwenden, prüft die SSL-Verbindung den Endpunkt des DB-Clusters gegen den Endpunkt des SSL-Zertifikats. -
SslCa
– Der vollständige Pfad zum SSL-Zertifikat für Amazon AuroraInformationen zum Download eines Zertifikats finden Sie unter Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung zu einer .
Anmerkung
Sie können keinen benutzerdefinierten Route-53-DNS-Eintrag oder einen benutzerdefinierten Aurora-Endpunkt anstelle des DB-Cluster-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.
using System;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
using Amazon;
namespace ubuntu
{
class Program
{
static void Main(string[] args)
{
var pwd = Amazon.RDS.Util.RDSAuthTokenGenerator.GenerateAuthToken(RegionEndpoint.USEast1, "mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com
", 3306
, "jane_doe
");
// for debug only Console.Write("{0}\n", pwd); //this verifies the token is generated
MySqlConnection conn = new MySqlConnection($"server=mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com
;user=jane_doe
;database=mydB
;port=3306
;password={pwd};SslMode=Required;SslCa=full_path_to_ssl_certificate
");
conn.Open();
// Define a query
MySqlCommand sampleCommand = new MySqlCommand("SHOW DATABASES;", conn);
// Execute a query
MySqlDataReader mysqlDataRdr = sampleCommand.ExecuteReader();
// Read all rows and output the first column in each row
while (mysqlDataRdr.Read())
Console.WriteLine(mysqlDataRdr[0]);
mysqlDataRdr.Close();
// Close connection
conn.Close();
}
}
}
Dieser Code stellt eine Verbindung mit einem Aurora PostgreSQL DB-Cluster her.
Ändern Sie die Werte der folgenden Parameter nach Bedarf.
-
Server
– Der Endpunkt des DB--Clusters, auf den Sie zugreifen möchten. -
User ID
– Das Datenbankkonto, auf das Sie zugreifen möchten. -
Database
– Die Datenbank, auf die Sie zugreifen möchten. -
Port
– Die Nummer des Ports, der für die Verbindung mit dem DB--Cluster verwendet wird. -
SSL Mode
– Der zu verwendende SSL-Modus.Wenn Sie
SSL Mode=Required
verwenden, prüft die SSL-Verbindung den Endpunkt des DB-Clusters gegen den Endpunkt des SSL-Zertifikats. -
Root Certificate
– Der vollständige Pfad zum SSL-Zertifikat für Amazon AuroraInformationen zum Download eines Zertifikats finden Sie unter Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung zu einer .
Anmerkung
Sie können keinen benutzerdefinierten Route-53-DNS-Eintrag oder einen benutzerdefinierten Aurora-Endpunkt anstelle des DB-Cluster-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.
using System;
using Npgsql;
using Amazon.RDS.Util;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var pwd = RDSAuthTokenGenerator.GenerateAuthToken("postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
", 5432
, "jane_doe
");
// for debug only Console.Write("{0}\n", pwd); //this verifies the token is generated
NpgsqlConnection conn = new NpgsqlConnection($"Server=postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com
;User Id=jane_doe
;Password={pwd};Database=mydb
;SSL Mode=Require;Root Certificate=full_path_to_ssl_certificate
");
conn.Open();
// Define a query
NpgsqlCommand cmd = new NpgsqlCommand("select count(*) FROM pg_user", conn);
// Execute a query
NpgsqlDataReader dr = cmd.ExecuteReader();
// Read all rows and output the first column in each row
while (dr.Read())
Console.Write("{0}\n", dr[0]);
// Close connection
conn.Close();
}
}
}
Informationen dazu, wie Sie über einen Proxy eine Verbindung mit einem DB-Cluster herstellen, finden Sie unter Herstellen einer Verbindung mit einem Proxy mithilfe der IAM-Authentifizierung.