您好,我对Task ID从EC2主机内部运行容器中检索感兴趣。
AWS ECS文档指出存在ECS_CONTAINER_METADATA_FILE带有此数据位置的环境变量,但是只有在ECS_ENABLE_CONTAINER_METADATA创建集群/ EC2实例时将变量设置为true时,才可以设置/可用。我看不到在aws控制台中可以在哪里完成。
此外,文档指出,可以通过在主机中将其设置为true来完成此操作,但需要重新启动Docker代理。
还有其他方法可以执行此操作,而不必进入EC2内部进行设置并重新启动Docker代理吗?
我需要对AST进行转换; 这是AST的一部分:
data Expr
= BinExpr { beOp :: BinaryOp
, beLeft :: Expr
, beRight :: Expr }
| Name Text
| IntegerLit Integer
| StringLit Text
deriving (Data, Typeable)
Run Code Online (Sandbox Code Playgroud)
这是一个相当复杂的AST,所以涉及很多类型.
我正在使用合金来生成通用转换,具体来说:
autoGen :: IO ()
autoGen = do
createDirectoryIfMissing True baseDir
writeInstancesTo inst doc imports targetFile
where
inst = allInstances GenWithoutOverlapped
doc = [genInstance (undefined :: Doc)]
imports = header ++ instanceImports
Run Code Online (Sandbox Code Playgroud)
现在,使用String时这很好,但我正在尝试迁移到Data.Text.当代码生成运行时,它正在读取Data.Text的内部结构,如下所示:
instance (Alloy ([(GHC.Types.Char)]) (f :- ops) BaseOp) =>
Alloy ((Data.Text.Internal.Text)) BaseOp (f :- …Run Code Online (Sandbox Code Playgroud)