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

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

在应用程序中访问凭据和配置文

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

但是,您还可以将应用程序配置为主动检索配置文件和凭证,然后在创建Amazon服务客户端。

要主动检索配置文件和凭证,请使用Amazon.runtime.凭证管理命名空间。

  • 在文件中查找使用Amazon凭据文件格式(或者共享的Amazon凭据文件位于默认位置或自定义凭证文件),请使用SharedCredentialsFile类 这种格式的文件有时被简单地称为凭证文件为了简洁起见,在这篇文本中。

  • 要在 SDK Store 中查找配置文件,请使用NetSDKCredentialsFile

  • 要在凭证文件和 SDK Store 中搜索,具体取决于类属性的配置,请使用凭据配置文件商店链

    您可以使用此类查找配置文件。您还可以使用此类Amazon直接凭据而不是使用AWSCredentialsFactory类(下面介绍)。

  • 要从配置文件中检索或创建各种类型的凭据,请使用AWScreentialsS 工厂

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

类凭据配置文件 Store Chain 的示例

您可以从凭据配置文件商店链通过使用TryGetAWSCredentials要么TryGetProfile方法。这些区域有:ProfilesLocation类的属性将决定方法的行为,如下所示:

  • 如果ProfilesLocation为空或空,如果平台支持 SDK Store,请搜索该应用商店,然后搜索共享Amazon凭据文件位于默认位置。

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

从 SDK Store 或共享的获取凭据Amazon凭证文件

此示例向您演示如何使用获取凭证如何使用CredentialProfileStoreChain类,然后使用凭证创建卓越亚马逊 3 客户端对象。凭据可以来自 SDK Store,也可以来自共享Amazon凭据文件位于默认位置。

此示例还使用了Amazon.runtime.awClient 凭据

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 Store 或共享版本中获取个人资料Amazon凭证文件

此示例说明如何使用 CredentialProfile 类获取配置文件。凭据可以来自 SDK Store,也可以来自共享Amazon凭据文件位于默认位置。

此示例还使用了凭据配置文件

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

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

此示例说明如何使用 CredentialProfile 类获取凭证。凭据来自使用Amazon凭据文件格式但位于备用位置。

此示例还使用了Amazon.runtime.awClient 凭据

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 }

课程共享证书的示例文件和 Amazon 凭证证书工厂

使用 SharedCredentialsFile 类创建 Amazon 3 客户端

此示例向您演示如何在共享的配置文件。Amazon凭证文件,创建Amazon来自配置文件的凭据,然后使用凭据创建卓越亚马逊 3 客户端对象。此示例使用SharedCredentialsFile

此示例还使用了凭据配置文件Amazon.runtime.awClient 凭据

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

这些区域有:NetSDKCredentialsFile类可以用完全相同的方式使用,除非您将实例化一个新的 NetSDKCredentialsFile 对象而不是一个 SharedCredentialsFile 对象。