По состоянию на май 2019 г. Cloudformation не поддерживает извлечение публичного адреса из ресурса AWS::Glue::DevEndpoint
.
Как вы предложили в этом вопросе, вы можете получить имя конечной точки dev из CF и передать его команде CLI AWS в пользовательских данных экземпляра EC2, что, вероятно, является наилучшим способом получения этого.
Я думаю, что model error
, который вы получаете с помощью клейкого интерфейса командной строки, может быть разрешен, если вы убедитесь, что используете последнюю версию интерфейса командной строки AWS перед выполнением команды. Эта ошибка звучит так, как будто есть какая-то проблема с конфигурацией службы склеивания в CLI.
Resources:
MyDevEndpoint:
Type: AWS::Glue::DevEndpoint
Properties:
...
MyInstance:
Type: AWS::EC2::Instance
Properties:
...
UserData:
Fn::Base64: !Sub |
aws --version
yes | pip3 install awscli --upgrade --user
aws --version
ENDPOINT_NAME=${MyDevEndpoint}
aws glue get-dev-endpoint --endpoint-name $ENDPOINT_NAME
...