问题描述:当尝试创建一个策略(Policy)时,收到错误消息“AWS IoT Core - 策略无法创建 - 大小超出硬限制(2048)”。
解决方法: 该错误消息表示您尝试创建的策略的大小超出了AWS IoT Core的硬限制(2048字节)。为了解决这个问题,您可以尝试以下几种方法:
减小策略的大小:
arn:aws:iot:*:*:topic/${iot:ClientId}/*
来代替具体的主题 ARN。拆分策略为多个较小的策略:如果您的策略非常复杂且无法减小大小,可以考虑将其拆分为多个较小的策略,并将其分配给相应的设备或角色。
下面是一个用于创建策略的代码示例(使用AWS SDK for Python - Boto3):
import boto3
# 创建 IoT Core 客户端
client = boto3.client('iot')
# 定义策略文档
policy_document = {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Publish",
"iot:Subscribe",
"iot:Connect",
"iot:Receive"
],
"Resource": [
"arn:aws:iot:us-west-2:123456789012:topic/mytopic/*"
]
}
]
}
# 创建策略
response = client.create_policy(
policyName='my-policy',
policyDocument=str(policy_document)
)
# 打印策略 ARN
print(response['policyArn'])
请注意,上述代码示例中的策略文档只是一个简单的示例,您需要根据自己的需求自定义策略文档。
希望这些信息对您有帮助!