存取應用程式中的認證和設定檔 - AWS SDK for .NET

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

存取應用程式中的認證和設定檔

使用證明資料的偏好方法是允許您尋找並擷取它們,如中所述憑證和設定檔解析。AWS SDK for .NET

不過,您也可以將應用程式設定為主動擷取設定檔和認證,然後在建立AWS服務用戶端時明確使用這些認證。

要主動檢索配置文件和憑據,請使用亞馬遜。運行時中的類。 CredentialManagement命名空間。

下列各節提供這些類別的範例。

類的例子 CredentialProfileStoreChain

您可以使用或TryGetProfile方法從CredentialProfileStoreChain類別取得認證TryGetAWSCredentials或設定檔。類別的ProfilesLocation屬性會決定方法的行為,如下所示:

  • 如果ProfilesLocation為 null 或空白,請在平台支援的情況下搜尋 SDK 存放區,然後在預設位置搜尋共用認AWS證檔案。

  • 如果內ProfilesLocation容包含值,請搜尋內容中指定的認證檔案。

從 SDK 存儲或共享憑AWS據文件獲取憑據

這個例子告訴你如何通過使用該CredentialProfileStoreChain類獲取憑據,然後使用憑據創建一個 Amazons 3Client 對象。認證可以來自 SDK 存放區,也可以來自預設位置的共用認AWS證檔案。

這個例子也使用亞馬遜。運行時。 AWSCredentials類。

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}"); } }

從 SDK 商店或共享AWS憑據文件獲取配置文件

此範例說明如何使用 CredentialProfileStoreChain 類別取得設定檔。認證可以來自 SDK 存放區,也可以來自預設位置的共用認AWS證檔案。

此範例也會使用CredentialProfile類別。

var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }

從自訂認證檔案取得認證

此範例說明如何使用 CredentialProfileStoreChain 類別取得認證。認證來自使用認AWS證檔案格式但位於替代位置的檔案。

這個例子也使用亞馬遜。運行時。 AWSCredentials類。

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 }

類 SharedCredentialsFile 和示例 AWSCredentialsFactory

通過使用類創建一個亞馬遜 3 客戶端 SharedCredentialsFile

這個範例說明如何在共用AWS認證檔案中尋找設定檔、從設定檔建立AWS認證,然後使用這些認證建立 Amazons 3Client 物件。此範例使用SharedCredentialsFile類別。

這個例子還使用CredentialProfile類和亞馬遜。運行時。 AWSCredentials類。

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}"); } }
注意

NetSDK CredentialsFile 類別可以以完全相同的方式使用,除非您會實例化新的 NetSDK CredentialsFile 物件而不是物件。 SharedCredentialsFile