我正在尝试使用.NET中的AWS SDK过滤EC2实例,虽然我已经在SO和其他解决此问题的网站上看到了无数线程,但我在我的最终工作中没有尝试过.
所以,作为最后一个资源,我来找你们帮忙.任何人都可以了解我所缺少的东西吗?我知道我很可能做了一些愚蠢的事,但我不能浪费太多时间来解决这个问题.
这是我用来通过它的标签名称过滤EC2实例(获取它的元数据)的代码块:
DescribeInstanceStatusRequest req = new DescribeInstanceStatusRequest ();
req.Filters.Add (new Filter() { Name = "tag:Name", Values = new List <string> () { "some_random_name" } });
// Executing request & fetching response
DescribeInstanceStatusResponse resp = m_ec2Client.DescribeInstanceStatus (req);
Run Code Online (Sandbox Code Playgroud)
但我继续遇到这个例外:
过滤器'标记:名称'无效
我已经通过文档中列出的几个过滤器(例如"tag-key","tag-value","tag:key = value")替换了过滤器名称(示例中的"tag:Name"),但没有任何效果.
谢谢大家 :)
基本上,我使用后台页面来监听事件,例如:onStartup,onInstalled和cookies.onChanged来决定单击browserAction时应向用户显示哪个页面。我的问题涉及后者以及如何触发。
chrome.cookies.onChanged.addListener(function(info){
if(info.cookie.name === "dummycookie"){
/* Possibilities of info.cause (as described in the docs):
* evicted
* expired
* explicit (it's used when setting or removing a cookie)
* expired_overwrite
* overwrite
*/
if(info.cause == "overwrite" || (info.cause == "explicit" && !info.removed)){
// Cookie was set (explicit or overwrite)
chrome.browserAction.setPopup({ popup: "dummy1.html" });
}
else{
// Cookie was removed (evicted, expired or expired_overwrite)
chrome.browserAction.setPopup({ popup: "dummy2.html" });
}
}
});
Run Code Online (Sandbox Code Playgroud)
事实是,尽管上面的代码可以很好地处理显式调用(cookies.set和cookies.get),但是当cookie的使用寿命到期时,它似乎不会触发。
从我进行的调试会话中,仅在cookie的预期到期日期之后进行显式调用时才触发代码。
例如,如果我在假定的到期时间之后拨打了cookies.getAll()之类的电话,浏览器就会意识到Cookie已过期,然后才触发该事件。
我想念什么吗?如果我滥用Cookie API或误解了其背后的机制,有人可以启发我吗?
任何帮助是极大的赞赏 !
最好的祝福,