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.
Zugreifen auf Anmeldeinformationen und Profile in einer Anwendung
Die bevorzugte Methode für die Verwendung von Anmeldeinformationen besteht darin, es den Benutzern AWS SDK for .NET zu ermöglichen, sie für Sie zu finden und abzurufen, wie unter beschriebenAuflösung von Anmeldeinformationen und Profilen.
Sie können Ihre Anwendung jedoch auch so konfigurieren, dass sie aktiv Profile und Anmeldeinformationen abruft und diese Anmeldeinformationen dann explizit beim Erstellen eines AWS Service-Clients verwendet.
Verwenden Sie Klassen aus der Amazon.Runtime, um Profile und Anmeldeinformationen aktiv abzurufen. CredentialManagementNamespace.
-
Verwenden Sie die SharedCredentialsFileKlasse, um ein Profil in einer Datei zu finden, die AWS das Dateiformat für AWSAnmeldeinformationen verwendet (entweder die Datei mit gemeinsamen Anmeldeinformationen an ihrem Standardspeicherort oder eine Datei mit benutzerdefinierten Anmeldeinformationen). Dateien in diesem Format werden in diesem Text der Kürze halber manchmal einfach als Anmeldeinformationsdateien bezeichnet.
-
Verwenden Sie die CredentialsFileNetSDK-Klasse, um ein Profil im SDK Store zu finden.
-
Verwenden Sie je nach Konfiguration einer Klasseneigenschaft die Klasse, um sowohl in einer Anmeldeinformationsdatei als auch im CredentialProfileStoreChainSDK-Speicher zu suchen.
Sie können diese Klasse verwenden, um Profile zu finden. Sie können diese Klasse auch verwenden, um AWS Anmeldeinformationen direkt anzufordern, anstatt die
AWSCredentialsFactory
Klasse zu verwenden (siehe unten). -
Verwenden Sie die AWSCredentialsFactoryKlasse, um verschiedene Arten von Anmeldeinformationen aus einem Profil abzurufen oder zu erstellen.
Die folgenden Abschnitte enthalten Beispiele für diese Klassen.
Beispiele für den Unterricht CredentialProfileStoreChain
Sie können Anmeldeinformationen oder Profile von der CredentialProfileStoreChainKlasse abrufen, indem Sie die TryGetProfileMethoden TryGetAWSCredentialsoder verwenden. Die ProfilesLocation
Eigenschaft der Klasse bestimmt das Verhalten der Methoden wie folgt:
-
Wenn der Wert Null oder leer
ProfilesLocation
ist, durchsuchen Sie den SDK-Speicher, sofern die Plattform dies unterstützt, und suchen Sie dann im Standardverzeichnis nach der Datei mit den gemeinsamen AWS Anmeldeinformationen. -
Wenn die
ProfilesLocation
Eigenschaft einen Wert enthält, suchen Sie in der Datei mit den Anmeldeinformationen, die in der Eigenschaft angegeben sind.
Rufen Sie die Anmeldeinformationen aus dem SDK-Store oder der Datei mit den gemeinsam genutzten AWS Anmeldeinformationen ab
Dieses Beispiel zeigt Ihnen, wie Sie mithilfe der CredentialProfileStoreChain
Klasse Anmeldeinformationen abrufen und diese Anmeldeinformationen dann verwenden, um ein AmazonS3Client-Objekt zu erstellen. Die Anmeldeinformationen können aus dem SDK-Store oder aus der Datei mit gemeinsamen AWS Anmeldeinformationen am Standardspeicherort stammen.
In diesem Beispiel wird auch Amazon.Runtime verwendet. AWSCredentialsKlasse.
var chain = new CredentialProfileStoreChain(); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("some_profile", out awsCredentials)) { // Use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }
Holen Sie sich ein Profil aus dem SDK Store oder der Datei mit den gemeinsam genutzten AWS Anmeldeinformationen
Dieses Beispiel zeigt Ihnen, wie Sie mithilfe der CredentialProfileStoreChain Klasse ein Profil abrufen. Die Anmeldeinformationen können aus dem SDK-Speicher oder aus der Datei mit gemeinsam genutzten AWS Anmeldeinformationen am Standardspeicherort stammen.
In diesem Beispiel wird auch die CredentialProfileKlasse verwendet.
var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }
Ruft Anmeldeinformationen aus einer benutzerdefinierten Anmeldeinformationsdatei ab
Dieses Beispiel zeigt Ihnen, wie Sie mithilfe der CredentialProfileStoreChain Klasse Anmeldeinformationen abrufen können. Die Anmeldeinformationen stammen aus einer Datei, die das AWS Anmeldeinformat-Dateiformat verwendet, sich aber an einem anderen Speicherort befindet.
In diesem Beispiel wird auch Amazon.Runtime verwendet. AWSCredentialsKlasse.
var chain = new CredentialProfileStoreChain("c:\\Users\\sdkuser\\customCredentialsFile.ini"); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // Use awsCredentials to create an AWS service client }
Beispiele für Klassen SharedCredentialsFile und AWSCredentialsFactory
Erstellen Sie einen AmazonS3-Client mithilfe der Klasse SharedCredentialsFile
Dieses Beispiel zeigt Ihnen, wie Sie ein Profil in der Datei mit gemeinsam genutzten AWS Anmeldeinformationen suchen, AWS Anmeldeinformationen aus dem Profil erstellen und dann die Anmeldeinformationen verwenden, um ein AmazonS3Client-Objekt zu erstellen. Das Beispiel verwendet die Klasse. SharedCredentialsFile
In diesem Beispiel werden auch die CredentialProfileKlasse und die Amazon.Runtime verwendet. AWSCredentialsKlasse.
CredentialProfile basicProfile; AWSCredentials awsCredentials; var sharedFile = new SharedCredentialsFile(); if (sharedFile.TryGetProfile("basic_profile", out basicProfile) && AWSCredentialsFactory.TryGetAWSCredentials(basicProfile, sharedFile, out awsCredentials)) { // use awsCredentials to create an Amazon S3 service client using (var client = new AmazonS3Client(awsCredentials, basicProfile.Region)) { var response = await client.ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); } }
Anmerkung
Die CredentialsFileNetSDK-Klasse kann auf genau die gleiche Weise verwendet werden, außer dass Sie ein neues CredentialsFile NetSDK-Objekt anstelle eines Objekts instanziieren würden. SharedCredentialsFile