gpt4 book ai didi

powershell - AWS Powershell - 按名称获取 SNS 主题

转载 作者:行者123 更新时间:2023-12-01 02:06:26 25 4
gpt4 key购买 nike

除了对已创建的主题执行以下操作外,我找不到按名称检索 SNS 主题的方法:

$topicarn = New-SNSTopic -Name "$deployedAppVersion-$environment-Events"

上面的问题是,如果我弄错了 $deployedAppVersion,它会在不该创建的地方创建一个 SNS 主题。

我一直在寻找“Get-SNTopic”,但我认为它不存在。我可以看到的唯一替代方法是所有主题的大脏列表,并在其中搜索包含我想要的名称的 arn。

有没有更好的办法?

最佳答案

Get-SNSTopic 确实存在,但它看起来像是映射到 list topics API 并简单地返回一个 ARN 列表——您所描述的行为。 API 和 CLI 似乎有类似的限制。

您可以通过包装 Get-SNSTopicAttribute 将 arn 分成几部分来在功能上获得您想要的内容:

Function Get-SNSTopicByName
{
param
(
[string]$Region = 'us-east-1',
[string]$AWSAccountNumber = '123456781234',
[string]$TopicName
)

$topicArn = "arn:aws:sns:$($Region):$($AWSAccountNumber):$($TopicName)"

Get-SNSTopicAttribute -TopicArn $topicArn
}

Get-SNSTopicByName -TopicName "my-topic"

Get-SNSTopicAttribute 返回有关该主题的有用信息的 Dictionary<string, string>,如果该主题不存在,也会出错。这似乎更接近你什么。

您可以通过 key 访问来获取单个零件:
PS C:/> $result = Get-SNSTopicByName -TopicName "my-topic"
PS C:/> $result["TopicArn"]
arn:aws:sns:us-east-1:123456781234:my-topic
PS C:/> $result["DisplayName"]
My Test Topic (Dev)

关于powershell - AWS Powershell - 按名称获取 SNS 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32140947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com