如何在 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')