本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
存取應用程式中的認證和設定檔
使用證明資料的偏好方法是允許您尋找並擷取它們,如中所述憑證和設定檔解析。AWS SDK for .NET
不過,您也可以將應用程式設定為主動擷取設定檔和認證,然後在建立AWS服務用戶端時明確使用這些認證。
要主動檢索配置文件和憑據,請使用亞馬遜。運行時中的類。 CredentialManagement命名空間。
-
若要在使用AWS認證檔案格式的檔案 (預設位置的共用認AWS證檔案或自訂認證檔案) 中尋找設定檔,請使用該SharedCredentialsFile類別。為了簡潔起見,這種格式的文件有時在此文本中簡單地稱為憑據文件。
-
若要在 SDK 存放區中尋找設定檔,請使用 NetSDK CredentialsFile 類別。
-
若要在認證檔案和 SDK 存放區中搜尋,視類別屬性的組態而定,請使用CredentialProfileStoreChain類別。
您可以使用此類查找配置文件。您也可以使用這個類別直接要求AWS認證,而不是使用
AWSCredentialsFactory
類別 (如下所述)。 -
若要從設定檔擷取或建立各種類型的認證,請使用AWSCredentialsFactory類別。
下列各節提供這些類別的範例。
類的例子 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