View a markdown version of this page

访问应用程序中的凭证和配置文件 - AWS SDK for .NET (V4)

的版本 4 (V4) AWS SDK for .NET 已经发布!

有关重大更改和迁移应用程序的信息,请参阅迁移主题

Orange button with text "Click here for details".

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

访问应用程序中的凭证和配置文件

使用凭据的首选方法是允许为您查找和检索凭证,如中所述凭证和配置文件解析。 AWS SDK for .NET

但是,您也可以将应用程序配置为主动检索配置文件和证书,然后在创建 AWS 服务客户端时明确使用这些凭据。

要主动检索个人资料和证书,请使用 Amazon.Runtime 中的类。 CredentialManagement命名空间。

以下部分提供了这些类的示例。

课堂示例 CredentialProfileStoreChain

您可以使用或TryGetProfile方法从CredentialProfileStoreChain班级中获取凭证TryGetAWSCredentials或配置文件。类的 ProfilesLocation 属性将决定方法的行为,如下所示:

  • 如果ProfilesLocation为空或为空,则在平台支持的情况下搜索 SDK Store,然后在默认位置搜索共享 AWS 凭据文件。

  • 如果 ProfilesLocation 属性包含值,请搜索该属性中指定的凭证文件。

从 SDK 商店或共享 AWS 凭证文件获取凭证

本示例向您展示了如何使用 CredentialProfileStoreChain 类获取凭证,然后使用这些凭证创建 AmazonS3Client 对象。这些凭证可以来自 SDK Store,也可以来自默认位置的共享 AWS 凭证

此示例还使用了 Amazon.Runtime。 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 Store,也可以来自默认位置的共享 AWS 凭据文件。

此示例还使用了该CredentialProfile类。

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

从自定义凭证文件获取凭证

此示例向您展示如何使用 CredentialProfileStoreChain 类获取证书。凭证来自使用 AWS 凭证文件格式但位于备用位置的文件。

此示例还使用了 Amazon.Runtime。 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 和 AWSCredentials工厂的示例

使用课程创建 Amazons3Client SharedCredentialsFile

此示例向您展示了如何在共享 AWS 凭证文件中查找个人资料,根据该配置文件创建 AWS 凭证,然后使用这些凭证创建 Amazons3C lient 对象。该示例使用该SharedCredentialsFile类。

此示例还使用CredentialProfile类和 Amazon.Runtime。 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}"); } }
注意

Net SDKCredentials File 类的使用方式完全相同,唯一的不同是你要实例化一个新的 Net SDKCredentials File 对象而不是一个 SharedCredentialsFile 对象。