amazon-web-services - 如何在 AWS SAM 模板中同时包含 CloudWatch 组和流?
问题描述
作为 SAM 模板的一部分,我想创建一个日志组和两个日志流。最初的想法是:
myLogGroup:
Type: 'AWS::Logs::LogGroup'
Properties:
LogGroupName: 'myLogGroup'
RetentionInDays: 180
myLogStream:
Type: 'AWS::Logs::LogStream'
Properties:
LogGroupName: 'myLogGroup'
LogStreamName: 'myLogStream'
不幸的是,在尝试部署应用程序时,我在事件日志中收到错误:
12:24:32 UTC+0200 CREATE_COMPLETE AWS::Logs::LogGroup myLogGroup
12:24:31 UTC+0200 CREATE_IN_PROGRESS AWS::Logs::LogGroup myLogGroup Resource creation Initiated
12:24:31 UTC+0200 CREATE_FAILED AWS::Logs::LogStream myLogStream The specified log group does not exist
12:24:31 UTC+0200 CREATE_IN_PROGRESS AWS::Logs::LogGroup myLogGroup
12:24:31 UTC+0200 CREATE_IN_PROGRESS AWS::Logs::LogStream myLogStream
有没有办法让 AWS 等待创建组?
解决方案
您需要使用该Fn::Ref
函数,以便 CloudFormation 了解资源位于同一模板上。否则,在创建 时myLogStream
,CloudFormation 认为它应该引用另一个(已经存在的)myLogGroup
。
myLogGroup:
Type: 'AWS::Logs::LogGroup'
Properties:
LogGroupName: 'myLogGroup'
RetentionInDays: 180
myLogStream:
Type: 'AWS::Logs::LogStream'
Properties:
LogGroupName: !Ref myLogGroup
LogStreamName: 'myLogStream'
推荐阅读
- c# - c# - GetForegroundWindow 某台电脑 获取代码有误?
- magento - Mage_Core_Exception:无效的块类型 - 块仅在开发环境中工作
- javascript - IE11 中的 Facebook 像素代码在 .find 上引发异常
- ios - 禁用警报消息上的动态字体大小
- oracle-apex - Oracle Apex:使用特定日历显示日期
- react-native - 用不同的项目大小反应原生动态水平网格
- r - R 和 HDF5:读取具有嵌套 H5T_ARRAY 的 H5T_COMPOUND 数据类型
- android - 关于嵌套片段中应用程序的 YouTubePlayer API 的问题
- javascript - 按键值过滤对象
- ios - 在 Cocoa Touch 框架中安装 Firebase iOS SDK