我们的一些用户通过Google OAuth API进行身份验证(https://developers.google.com/+/web/api/rest/oauth)
除了2019年4月之后,Google版OAuth API的未来是什么?
除了OAuth之外,我们使用以下端点获取用户的电子邮件和名称:https://www.googleapis.com/plus/v1/people/me一旦我们获得访问令牌.该端点是否已过时?
PagerJS可以获取URL参数并将它们绑定到模型.例如,在本例来自PagerJS网站(参见链接)中,当您点击该链接时,它将导航到#/user?first=Philip&last=Fry并显示数据绑定子页面,显示"Philip Fry":
<a class="btn" data-bind="page-href: {path: 'user', params: {first: 'Philip', last: 'Fry'}}">Send parameter to page</a>
<div data-bind="page: {id: 'user', params: ['first','last']}" class="well-small">
<div>
<span>First name:</span>
<span data-bind="text: first"></span>
</div>
<div>
<span>Last name:</span>
<span data-bind="text: last"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是一种单向绑定:如果observable发生更改,由于页面上的用户操作,URL将不会更新.
使用PagerJS时,建议使用URL参数与observable同步的方法是什么?
我想在URL参数中存储用户动态创建的搜索条件(通过选择一组UI控件生成),这样他/她可以与其他人共享URL或将其加入书签,当然,所有这些都无需重新加载页面.
我的组件想向 SST (vuex) 添加一个新的反应式数组字段。我在 beforeCreate 钩子中尝试过,但添加的数组不是响应式的;它只是一个普通的 JS 数组。
请注意,这与在 Vue 初始化时创建的现有数组中添加/删除元素不同。这样的数组被“包装”并按预期变得反应,注意“数组更改检测”陷阱。
就我而言,我正在尝试向 SST 动态添加一个全新的数组类型字段,并同时使其具有反应性。可能的?
我一直在 DAEMON 模式下测试 ECS 的滚动更新,但我无法避免偶尔出现“502 Bad Gateway”响应。这是我为测试所做的工作,这似乎指出了排水策略过程中的一个错误。
首先,我用 Kotlin/Jersey 编写了一个最小的 hello-world 程序来响应 curl GET(源代码)。我每约 300 毫秒循环一次到达终点:
while [ 1 ]; do curl -s http://...us-east-2.elb.amazonaws.com/helloWorld | ts '[%Y-%m-%d %H:%M:%S]'; echo ""; sleep 0.3; done
Run Code Online (Sandbox Code Playgroud)
接下来,我推送一个新的容器镜像(使用相同的标签),它会产生稍微不同的响应(110 与 1010),以便我可以观察推出进度。最后我强制更新服务:
aws ecs update-service --service service-helloworld-jersey --cluster cluster-helloworld-jersey --force-new-deployment
Run Code Online (Sandbox Code Playgroud)
我的服务中有两项任务,最低健康百分比为50% 。Bash 循环在滚动更新期间产生以下输出 - 在某些时候有两个输出,一个带有“110”(旧代码),另一个带有“1010”(新代码),这是在其中一个容器具有已更新,另一个仍未更新:
如果您将 Bash 控制台上的事件与 AWS 控制台中的事件相关联(两者都是 NTP 时间同步的),您可以看到大约 9:04:39,尽管“耗尽”,我们仍在使用旧代码/容器事件应该发生在 9:04:28 之后,我在下面用红色突出显示。在 9:04:39 任务最终停止,这与循环中的“502 Bad Gateway”响应相关。
我的结论是 ELB 没有正确排出最后一个目标,这导致了我们看到的错误。
如果有人有任何想法如何进一步诊断或配置不同,请告诉我。
通过将 ELB 的注销延迟从 10 秒增加到 30 秒,我能够避免任何服务中断。
我们在S3中托管了一个静态站点,并随CloudFront一起提供.该网站有效,但推出更新需要很长时间 - 数小时或更长时间.具体而言,改变原点路径几乎不会像所希望的那样快速地反映在边缘位置上.
这是我们想要实现的目标......
我们的S3存储桶配置为托管网站.它存储同一站点的多个版本.每个git标签有一个子目录.例如:
/git-v1
/git-v2
/git-v3
..
Run Code Online (Sandbox Code Playgroud)
目标是告诉CF开始按照Origin Path设置提供新版本的站点.我们不希望使旧对象无效,只需通过创建一个新目录并指向CF来继续推进该版本.CloudFront Distributions下的状态显示"Deployed"很长一段时间,但边缘位置继续忽略新的Origin Path.
任何关于如何使CF开始更快地服务新子目录的想法将不胜感激.
我最近将我的脚本从 2.x 移植到 3.x。在通过自动化 (rundeck) 运行的生产过程中,我们看到由于记录器未处理阻塞 I/O 而导致的错误。任何如何解决的想法都会很棒。
--- Logging error ---
Traceback (most recent call last):
File "/usr/lib/python3.6/logging/__init__.py", line 998, in emit
self.flush()
File "/usr/lib/python3.6/logging/__init__.py", line 978, in flush
self.stream.flush()
BlockingIOError: [Errno 11] write could not complete without blocking
Run Code Online (Sandbox Code Playgroud) 我一直在使用JSONObject和JSONReader,但理想情况下,我正在寻找一种混合动力:)
特别是,给定JSON对象流(任意长的JSON数组的一部分),是否有一个帮助程序/库,它一次生成迭代器样式的“ JSONObject”,而不是读取其中的所有内容或不必解析单个原始字段(JsonReader )?
假设API的示例:
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
reader.beginArray();
while (reader.hasNext())
{
JSONObject obj = reader.readObject();
// do something with 'obj'
}
reader.endArray();
Run Code Online (Sandbox Code Playgroud)
上面,调用readObject解析一些复杂的JSON子树,并将其作为JSONObject返回。
amazon-ecs ×1
amazon-s3 ×1
aws-elb ×1
google-api ×1
google-oauth ×1
google-plus ×1
java ×1
json ×1
knockout.js ×1
oauth ×1
pagerjs ×1
python-3.x ×1
vue.js ×1
vuejs2 ×1