为什么我在创建预算警报时收到无效的 SNS 主题 ARN
Why am I getting Invalid SNS topic ARN when creating a Budget Alert
我只是在尝试设置预算提醒购买,但在尝试为提醒指定 SNS ARN 时遇到错误 SNS 主题 ARN 无效。
我按照以下步骤操作:
- 创建了一个以 SMS 作为协议的新 SNS 主题。
- 创建了主题订阅(美国 phone 号码)。
- 通过发送文本测试订阅(有效)。
- 复制了 AWS SNS 主题部分 ARN 列下的 ARN。
- 选中通过 Amazon Simple Notification Service (SNS) 主题通知 并输入来自 #4 的 ARN。
- 我在 SNS 主题 ARN 字段旁边收到错误 无效 SNS 主题 ARN,复制粘贴 ARN 后立即进入领域。
怎么了?我知道这是正确的 ARN,因为我直接从控制台复制了它。此外,据我所知,预算和他们的警报并没有绑定到特定区域,尽管 SNS 主题是(该主题位于 us-east-2 N. Virginia)。
如果您需要更多细节,请告诉我。
确保您已允许 budget.amazonaws.com 能够在 SNS 主题的基于资源的策略中向该 SNS 主题发布消息。
将以下声明添加到策略中
{
"Sid": "ExampleSid123456789012",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "your topic ARN"
}
希望有用!
我遇到了同样的问题。这是我的经历。
- 已开始创建 AWS 账单提醒
- 尝试使用现有的 SNS 主题,收到与您相同的错误消息。有趣的是,如果您的 SNS ARN 中存在语法错误,您将收到不同的错误消息 'Please comply with SNS ARN format'.
- 认为 SNS 主题应该在 US-EAST 区域。在那里创建了一个仅用于账单提醒。还是一样的错误信息。
- 意识到主题必须附加正确的策略。添加了类似于@mmal 建议的政策声明。还是一样的错误信息。
但后来我重新加载了页面并尝试从头开始创建账单提醒。
第二次成功了!!
我之前遇到过同样的问题,但是通过这些步骤就解决了,
"Please comply with SNS ARN format"
我的解决方法是
-
1. 在 US-EAST-1 地区[=] 创建一个 SNS 主题 16=]
2. 刚刚使用 基本访问策略
3. (Optional) publish and subscribe 字段,我使用了选项:Only the specified AWS account ,粘贴我的 AWS 账户 ID
4. 编辑 SNS 主题并启用访问策略,通过添加服务 budgets.amazonaws.com , 在 SNS:Publish 动作中
按照下图的格式复制,然后保存
5. 成功创建SNS主题后,我重新加载配置
警报页面,然后 粘贴 SNS 主题 ARN。没有更多的错误,可以
已经确认预算,
您将收到一封确认邮件。
有了这个内容
Congratulations, you have successfully verified your SNS topic for AWS Budgets! You can now receive your AWS Budgets notifications
through this SNS topic.
作为一个小问题,按照上述步骤操作后,它仍然无法正常工作。我发现如果您在 SNS 主题上启用了 "Encryption",它将不起作用。在主题上禁用此功能并刷新预算编辑屏幕修复了它!
您需要在 "Statement" 正下方添加策略:[ 在现有 SNS 访问策略上。
{
"Sid": "AWSBudgets-notification-1",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "SNS-policy-ARN"
},
确保不要错过末尾的逗号。
SNS-policy-ARN 是同一个 SNS 主题的 ARN
我只是在创建标准主题(FIFO 不起作用)时才修复它。
如果您 运行 在 .net 应用程序中使用您的 AWS 凭证在您的 ~/.AWS/credentials 文件中,请确保在您的 appsettings.json 匹配您的 SNS 主题所在的区域。
{
"AWS": {
"Profile": "myProfile",
"Region": "eu-west-2"
},
...
我只是在尝试设置预算提醒购买,但在尝试为提醒指定 SNS ARN 时遇到错误 SNS 主题 ARN 无效。
我按照以下步骤操作:
- 创建了一个以 SMS 作为协议的新 SNS 主题。
- 创建了主题订阅(美国 phone 号码)。
- 通过发送文本测试订阅(有效)。
- 复制了 AWS SNS 主题部分 ARN 列下的 ARN。
- 选中通过 Amazon Simple Notification Service (SNS) 主题通知 并输入来自 #4 的 ARN。
- 我在 SNS 主题 ARN 字段旁边收到错误 无效 SNS 主题 ARN,复制粘贴 ARN 后立即进入领域。
怎么了?我知道这是正确的 ARN,因为我直接从控制台复制了它。此外,据我所知,预算和他们的警报并没有绑定到特定区域,尽管 SNS 主题是(该主题位于 us-east-2 N. Virginia)。
如果您需要更多细节,请告诉我。
确保您已允许 budget.amazonaws.com 能够在 SNS 主题的基于资源的策略中向该 SNS 主题发布消息。
将以下声明添加到策略中
{
"Sid": "ExampleSid123456789012",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "your topic ARN"
}
希望有用!
我遇到了同样的问题。这是我的经历。
- 已开始创建 AWS 账单提醒
- 尝试使用现有的 SNS 主题,收到与您相同的错误消息。有趣的是,如果您的 SNS ARN 中存在语法错误,您将收到不同的错误消息 'Please comply with SNS ARN format'.
- 认为 SNS 主题应该在 US-EAST 区域。在那里创建了一个仅用于账单提醒。还是一样的错误信息。
- 意识到主题必须附加正确的策略。添加了类似于@mmal 建议的政策声明。还是一样的错误信息。
但后来我重新加载了页面并尝试从头开始创建账单提醒。
第二次成功了!!
我之前遇到过同样的问题,但是通过这些步骤就解决了,
"Please comply with SNS ARN format"
我的解决方法是
-
1. 在 US-EAST-1 地区[=] 创建一个 SNS 主题 16=]
2. 刚刚使用 基本访问策略
3. (Optional) publish and subscribe 字段,我使用了选项:Only the specified AWS account ,粘贴我的 AWS 账户 ID
4. 编辑 SNS 主题并启用访问策略,通过添加服务 budgets.amazonaws.com , 在 SNS:Publish 动作中 按照下图的格式复制,然后保存
5. 成功创建SNS主题后,我重新加载配置 警报页面,然后 粘贴 SNS 主题 ARN。没有更多的错误,可以 已经确认预算,
您将收到一封确认邮件。
有了这个内容
Congratulations, you have successfully verified your SNS topic for AWS Budgets! You can now receive your AWS Budgets notifications through this SNS topic.
作为一个小问题,按照上述步骤操作后,它仍然无法正常工作。我发现如果您在 SNS 主题上启用了 "Encryption",它将不起作用。在主题上禁用此功能并刷新预算编辑屏幕修复了它!
您需要在 "Statement" 正下方添加策略:[ 在现有 SNS 访问策略上。
{
"Sid": "AWSBudgets-notification-1",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "SNS-policy-ARN"
},
确保不要错过末尾的逗号。 SNS-policy-ARN 是同一个 SNS 主题的 ARN
我只是在创建标准主题(FIFO 不起作用)时才修复它。
如果您 运行 在 .net 应用程序中使用您的 AWS 凭证在您的 ~/.AWS/credentials 文件中,请确保在您的 appsettings.json 匹配您的 SNS 主题所在的区域。
{
"AWS": {
"Profile": "myProfile",
"Region": "eu-west-2"
},
...