我正在尝试使用浏览器中的Web套接字连接到AWS IoT.
我试过这个例子:https: //github.com/awslabs/aws-iot-examples/tree/master/mqttSample
另一个有点修改,因此它可以与Cognito Identity Pool登录用户一起使用. https://github.com/dwyl/learn-aws-iot/blob/master/src/js/utils/request.js#L27
如果我使用具有有效IoT策略的IAM用户,我可以成功连接,但如果我使用用户凭据,则会收到"101 Switching Protocols"响应,但随后会关闭.
与经过身份验证的用户关联的IAM角色是正确的,我可以签署请求并执行其他私有操作,如调用APIG端点.套接字连接也没有响应403.所以它可能不是权限问题.
还有什么呢?
如何按数组字段的元素数对查询进行排序?
假设我有类似的记录
{
title: '',
author: '',
votes: [id,id,id]
}
Run Code Online (Sandbox Code Playgroud)
我想按数组投票的长度排序
对于我的模型'Presentacion',我有一个非常简单的资源
class PresentacionResource(ModelResource):
model = Presentacion
fields = (some fields)
ignore_fields = (few to ignore)
Run Code Online (Sandbox Code Playgroud)
我需要为此实现身份验证,所以当我阅读时,我创建了两个包装器
class AuthListOrCreateModelView(ListOrCreateModelView):
permissions = (IsAuthenticated, )
class AuthInstanceModelView(InstanceModelView):
permissions = (IsAuthenticated, )
Run Code Online (Sandbox Code Playgroud)
然后在我的urls.py中
url(r'^presentaciones/$', AuthListOrCreateModelView.as_view(resource=PresentacionResource), name='presentacion-root'),
url(r'^presentaciones/(?P<id>[0-9]+)$', AuthInstanceModelView.as_view(resource=PresentacionResource), name='presentacion'),
Run Code Online (Sandbox Code Playgroud)
这对于GET'sentaciones /'请求工作正常但是当我尝试发出PUT请求时,我得到了403 FORBIDDEN
对我来说很奇怪的是GET工作正常:只要我记录了它,它就会正确响应但是如果我注销它就会响应403 FORBIDDEN.
在Api Gateway中,我创建了一个自定义域foo.example.com,用它创建了一个Cloud Front发行版CNAME.
我还想创建一个通配符域,*.example.com但在尝试创建它时,CloudFront会抛出一个错误:
CNAMEAlreadyExistsException:您提供的一个或多个CNAME已与不同的资源相关联
AWS在其文档中指出:
但是,您可以添加通配符备用域名,例如*.example.com,其中包含(与其重叠)非通配符备用域名,例如www.example.com.只要两个分发都是使用相同的AWS账户创建的,重叠域名可以位于同一分布中,也可以位于不同的分布中.
所以我可能误解了这一点,是否有可能完成我所描述的内容?