本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ListAliases
搭配使用 Amazon SDK或 CLI
以下代码示例演示如何使用 ListAliases
。
- .NET
-
- Amazon SDK for .NET
-
注意
还有更多相关信息 GitHub。在中查找完整的示例,学习如何设置和运行 Amazon 代码示例存储库
。 using System; using System.Threading.Tasks; using Amazon.KeyManagementService; using Amazon.KeyManagementService.Model; /// <summary> /// List the AWS Key Management Service (AWS KMS) aliases that have been defined for /// the keys in the same AWS Region as the default user. If you want to list /// the aliases in a different Region, pass the Region to the client /// constructor. /// </summary> public class ListAliases { public static async Task Main() { var client = new AmazonKeyManagementServiceClient(); var request = new ListAliasesRequest(); var response = new ListAliasesResponse(); do { response = await client.ListAliasesAsync(request); response.Aliases.ForEach(alias => { Console.WriteLine($"Created: {alias.CreationDate} Last Update: {alias.LastUpdatedDate} Name: {alias.AliasName}"); }); request.Marker = response.NextMarker; } while (response.Truncated); } }
-
有关API详细信息,请参阅ListAliases中的 Amazon SDK for .NET API参考。
-
- CLI
-
- Amazon CLI
-
示例 1:列出所有别名 Amazon 账户和区域
以下示例使用
list-aliases
命令列出默认区域中的所有别名 Amazon account。输出包括与之关联的别名 Amazon 托管KMS密钥和客户管理的KMS密钥。aws kms list-aliases
输出:
{ "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/testKey", "AliasName": "alias/testKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/FinanceDept", "AliasName": "alias/FinanceDept", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "AliasName": "alias/aws/dynamodb", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "AliasName": "alias/aws/ebs", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef" }, ... ] }
示例 2:列出特定KMS密钥的所有别名
以下示例使用
list-aliases
命令及其key-id
参数列出与特定KMS密钥关联的所有别名。每个别名仅与一个KMS密钥相关联,但一个KMS密钥可以有多个别名。这个命令非常有用,因为 Amazon KMS控制台仅为每个KMS密钥列出一个别名。要查找KMS密钥的所有别名,必须使用
list-aliases
命令。此示例使用密钥的KMS密钥 ID 作为
--key-id
参数,但您可以在此命令ARN中使用密钥 ID ARN、密钥、别名或别名。aws kms list-aliases --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
输出:
{ "Aliases": [ { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/oregon-test-key", "AliasName": "alias/oregon-test-key" }, { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project121-test", "AliasName": "alias/project121-test" } ] }
有关更多信息,请参阅中的使用别名 Amazon 密钥管理服务开发人员指南。
-
有关API详细信息,请参阅ListAliases
中的 Amazon CLI 命令参考。
-
- Java
-
- SDK适用于 Java 2.x
-
注意
还有更多相关信息 GitHub。在中查找完整的示例,学习如何设置和运行 Amazon 代码示例存储库
。 /** * Asynchronously lists all the aliases in the current AWS account. * * @return a {@link CompletableFuture} that completes when the list of aliases has been processed */ public CompletableFuture<Object> listAllAliasesAsync() { ListAliasesRequest aliasesRequest = ListAliasesRequest.builder() .limit(15) .build(); ListAliasesPublisher paginator = getAsyncClient().listAliasesPaginator(aliasesRequest); return paginator.subscribe(response -> { response.aliases().forEach(alias -> logger.info("The alias name is: " + alias.aliasName()) ); }) .thenApply(v -> null) .exceptionally(ex -> { if (ex.getCause() instanceof KmsException) { KmsException e = (KmsException) ex.getCause(); throw new RuntimeException("A KMS exception occurred: " + e.getMessage()); } else { throw new RuntimeException("An unexpected error occurred: " + ex.getMessage()); } }); }
-
有关API详细信息,请参阅ListAliases中的 Amazon SDK for Java 2.x API参考。
-
- Kotlin
-
- SDK对于 Kotlin 来说
-
注意
还有更多相关信息 GitHub。在中查找完整的示例,学习如何设置和运行 Amazon 代码示例存储库
。 suspend fun listAllAliases() { val request = ListAliasesRequest { limit = 15 } KmsClient { region = "us-west-2" }.use { kmsClient -> val response = kmsClient.listAliases(request) response.aliases?.forEach { alias -> println("The alias name is ${alias.aliasName}") } } }
-
有关API详细信息,请参阅ListAliases
中的 Amazon SDK以供API参考 Kotlin。
-
- Python
-
- SDK适用于 Python (Boto3)
-
注意
还有更多相关信息 GitHub。在中查找完整的示例,学习如何设置和运行 Amazon 代码示例存储库
。 class AliasManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_key = None def list_aliases(self): """ Lists aliases for the current account. """ answer = input("\nLet's list your key aliases. Ready (y/n)? ") if answer.lower() == "y": try: page_size = 10 alias_paginator = self.kms_client.get_paginator("list_aliases") for alias_page in alias_paginator.paginate( PaginationConfig={"PageSize": 10} ): print(f"Here are {page_size} aliases:") pprint(alias_page["Aliases"]) if alias_page["Truncated"]: answer = input( f"Do you want to see the next {page_size} aliases (y/n)? " ) if answer.lower() != "y": break else: print("That's all your aliases!") except ClientError as err: logging.error( "Couldn't list your aliases. Here's why: %s", err.response["Error"]["Message"], )
-
有关API详细信息,请参阅ListAliases中的 Amazon SDK供参考 Python (Boto3) API。
-
有关完整列表 Amazon SDK开发者指南和代码示例,请参阅使用 Amazon KMS 用一个 Amazon SDK。本主题还包括有关入门的信息以及有关先前SDK版本的详细信息。