You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS CDK(TypeScript)配置SNS SMS属性?

使用AWS CDK(TypeScript)配置SNS SMS全局偏好设置

AWS CDK中没有直接封装SNS SMS全局偏好的L2构造,需要用**L1构造CfnSMSPreferences**来实现你的全部需求,以下是对应四个目标的完整代码实现:

前提准备

确保你的CDK项目已配置AWS凭证,且安装了aws-cdk-lib和constructs依赖。

完整代码示例

import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { CfnSMSPreferences } from 'aws-cdk-lib/aws-sns';
import { Role, ServicePrincipal, ManagedPolicy } from 'aws-cdk-lib/aws-iam';

export class SnsSmsConfigStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // 创建SNS投递状态日志所需的IAM角色
    const snsCloudLogsRole = new Role(this, 'SnsCloudLogsRole', {
      assumedBy: new ServicePrincipal('sns.amazonaws.com'),
      managedPolicies: [
        ManagedPolicy.fromAwsManagedPolicyName('AmazonSNSRoleForCloudLogs')
      ]
    });

    // 配置SNS SMS全局偏好
    new CfnSMSPreferences(this, 'SmsPreferences', {
      // 设置每月SMS消费限额(单位:美元,默认1美元,提工单可调整上限)
      monthlySpendLimit: 50.0,
      // 设置默认发件人ID(1-11个字符,仅字母、数字、下划线,部分国家/地区不支持)
      defaultSenderId: 'MyBizSender',
      // 启用投递状态日志:设置成功日志采样率(100表示全部捕获)
      deliveryStatusSuccessSamplingRate: '100',
      // 指定日志投递的IAM角色ARN
      deliveryStatusIamRoleArn: snsCloudLogsRole.roleArn,
      // 启用CloudWatch使用报告(开启后SNS自动推送SMS使用指标到CloudWatch)
      enableSubscriptionLevelMetrics: true
    });
  }
}

各需求对应说明

  • 设置SMS消费限额:通过monthlySpendLimit属性定义每月可消费金额(美元),默认限额为1美元,如需更高额度需联系AWS支持提工单调整。
  • 定义默认发件人ID:defaultSenderId属性指定全局默认发件人标识,注意部分国家/地区(如美国)不支持自定义发件人ID,会自动替换为短码。
  • 启用投递状态日志:配合deliveryStatusSuccessSamplingRate(设置成功日志采样比例)和deliveryStatusIamRoleArn(授予SNS写入CloudWatch日志权限),失败日志会默认全部捕获。
  • CloudWatch存储使用报告:enableSubscriptionLevelMetrics开启后,SNS会自动将SMS发送量、成功/失败率等指标推送至CloudWatch,可在CloudWatch控制台的AWS/SNS命名空间下查看相关指标。

验证配置

部署完成后,可通过AWS CLI验证配置:

aws sns get-sms-preferences

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:55:01