View a markdown version of this page

访问应用程序中的凭证和配置文件 - Amazon SDK for .NET (V3)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon SDK for .NET V3 已结束支持。

我们建议您迁移到 Amazon SDK for .NET V4。有关如何迁移的更多详细信息和信息,请参阅我们的终止支持公告

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

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

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

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

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

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

课堂示例 CredentialProfileStoreChain

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

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

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

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

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

此示例还使用了 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 商店或共享 Amazon 凭证文件中获取个人资料

此示例向您展示如何使用该 CredentialProfileStoreChain 类获取个人资料。这些凭据可以来自 SDK Store,也可以来自默认位置的共享 Amazon 凭据文件。

此示例还使用了该CredentialProfile类。

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

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

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

此示例还使用了 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

此示例向您展示了如何在共享 Amazon 凭证文件中查找个人资料,根据该配置文件创建 Amazon 凭证,然后使用这些凭证创建 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 对象。