如何在 CDK 中获取 AWS IoT 自定义端点?
How to get the AWS IoT custom endpoint in CDK?
我想将 IoT 自定义端点作为环境变量传递给在 CDK 中声明的 lambda。
我说的是位于此处的 IoT 自定义端点:
如何在 CDK 上下文中获取它?
据我所知,唯一的恢复方法是使用自定义资源 (Lambda),例如 (IoTThing):https://aws.amazon.com/blogs/iot/automating-aws-iot-greengrass-setup-with-aws-cloudformation/
您可以参考 AWS 示例代码:
https://github.com/aws-samples/aws-iot-cqrs-example/blob/master/lib/querycommandcontainers.ts
const getIoTEndpoint = new customResource.AwsCustomResource(this, 'IoTEndpoint', {
onCreate: {
service: 'Iot',
action: 'describeEndpoint',
physicalResourceId: customResource.PhysicalResourceId.fromResponse('endpointAddress'),
parameters: {
"endpointType": "iot:Data-ATS"
}
},
policy: customResource.AwsCustomResourcePolicy.fromSdkCalls({resources: customResource.AwsCustomResourcePolicy.ANY_RESOURCE})
});
const IOT_ENDPOINT = getIoTEndpoint.getResponseField('endpointAddress')
我想将 IoT 自定义端点作为环境变量传递给在 CDK 中声明的 lambda。
我说的是位于此处的 IoT 自定义端点:
如何在 CDK 上下文中获取它?
据我所知,唯一的恢复方法是使用自定义资源 (Lambda),例如 (IoTThing):https://aws.amazon.com/blogs/iot/automating-aws-iot-greengrass-setup-with-aws-cloudformation/
您可以参考 AWS 示例代码: https://github.com/aws-samples/aws-iot-cqrs-example/blob/master/lib/querycommandcontainers.ts
const getIoTEndpoint = new customResource.AwsCustomResource(this, 'IoTEndpoint', {
onCreate: {
service: 'Iot',
action: 'describeEndpoint',
physicalResourceId: customResource.PhysicalResourceId.fromResponse('endpointAddress'),
parameters: {
"endpointType": "iot:Data-ATS"
}
},
policy: customResource.AwsCustomResourcePolicy.fromSdkCalls({resources: customResource.AwsCustomResourcePolicy.ANY_RESOURCE})
});
const IOT_ENDPOINT = getIoTEndpoint.getResponseField('endpointAddress')