您能否制定运行查询以检查是否找到匹配文档的安全规则?
我正在构建一个系统,登录用户可以在其中对特定主题进行投票。
每一个投票都将保存在自己的文档中,其中包含对用户、主题等的引用。
我想制定一个安全规则,检查投票部分中是否已经存在具有该特定用户 ID 和主题 ID 的文档,并且只让用户编写投票文档,但事实并非如此。
我在文档中看不到任何查询选项,那么我的选项是什么?
我可以以某种方式创建所有投票的索引,并在该索引中查找特定的文档路径吗?
或者我应该根据用户 ID 和主题 ID 给投票一个自定义 ID 方案,以便可以找到它们?
我创建了一个无服务器 Redshift 实例,并尝试从 S3 存储桶导入 CSV 文件。
我创建了一个具有完整 Redshift + Redshift 无服务器访问权限和 S3 读取访问权限的 IAM 角色,并将该角色添加为Serverless Configuration的Permissions设置下的默认角色。基本上,我已经尝试根据文档做任何我认为必要的事情。
但是,这些文档目前仅针对正常的 EC2 托管 Redshift,而不是针对无服务器版本,因此可能有一些我忽略的内容。
但是当我尝试运行 COPY 命令(由 UI 生成)时,出现以下错误:
ERROR: Not authorized to get credentials of role arn:aws:iam::0000000000:role/RedshiftFull Detail: ----------------------------------------------- error: Not authorized to get credentials of role arn:aws:iam::00000000:role/RedshiftFull code: 30000 context: query: 18139 location: xen_aws_credentials_mgr.cpp:402 process: padbmaster [pid=8791] ----------------------------------------------- [ErrorId: 1-61dc479b-570a4e96449b228552f2c911]
这是我尝试运行的命令:
ERROR: Not authorized to get credentials of role arn:aws:iam::0000000000:role/RedshiftFull Detail: ----------------------------------------------- error: Not authorized …amazon-web-services amazon-iam amazon-redshift serverless amazon-redshift-serverless
我有一个水平组件<FlatList>,包含 100 个项目(日历天),宽度与屏幕相同。将<FlatList>被设置为捕捉到的间隔类似于屏幕宽度,所以可项之间滑动。
当我滑动到特定日期时,我想更新 UI 以在<FlatList>. 现在我正在使用onMomentumScrollEnd查找最终偏移量和显示在标题中的日期项目。
但是,用户体验不是最佳的,因为在滑动/滚动动画结束之前标题不会更新。
我需要的是一种方法来确定<FlatList>用户一滑动就会捕捉到哪个偏移量。
我想onScroll可能会有用,但是<FlatList>根据我从onScroll.
但是,我可以看到一些 3rd 方模块react-native-snap-carousel正在这样做,使用onScroll,所以我想这是可能的。
我选择不使用,react-native-snap-carousel因为它确实会降低我屏幕上的滑动动画性能。如果模块没有给出明确的答案,请查看代码,因为该模块具有大量我不需要的功能,这些功能是它用于确定下一个snapTo偏移量的代码的一部分
出于测试/调试目的,我将创建一个网络应用程序来模拟我们系统中第 3 方参与者之一的功能。它应该能够发布和订阅在 AWS SNS 服务上发送的消息。
我计划制作一个 ReactJS Web 应用程序,它调用在 AWS Lambda 中制作的 API。发送消息应该没问题,应用程序中有一些按钮,调用将 SNS 消息发布到主题的 Lambda。
但是如何监控发送到我想观看的相关主题的消息呢?我正在考虑使用可以接收消息的 websocket。我知道我可以使用 SNS 消息触发 Lambda,但是如何让 lambda 将这些消息传送到 websocket?在没有永久服务器会话运行的情况下,这可能吗?我应该与 AWS 工具箱中的其他内容结合使用吗?
更新:Cloudformation 现在支持 SNS 主题过滤器,因此这个问题不再相关,不需要自定义插件或代码。
我正在构建一个包含多个 SNS 主题和多个 Lambda 的系统,每个 Lambda 都从分配的 SQS 队列中读取消息。SQS 队列订阅 SNS 主题,但也有过滤策略,因此消息最终会进入相关的 SQS 队列。
当我在 AWS 控制台中设置订阅时,效果很好。
现在我尝试在代码中执行相同的操作,但 AWS Cloudformation 文档没有描述如何向订阅添加筛选策略。基于这里的 python 示例,我尝试了以下操作:
  StopOperationSubscription:
    Type: "AWS::SNS::Subscription"
    Properties:
      Protocol: sqs
      TopicArn: 
        Ref: StatusTopic
      Endpoint: 
        Fn::GetAtt: [StopActionQueue, Arn]
      FilterPolicy: '{"value": ["stop"]}'
但后来我得到这个错误:
An error occurred: StopOperationSubscription - Encountered unsupported property FilterPolicy.
如何使用 CloudFormation 设置所需的过滤策略?如果不支持,您建议什么替代方案?
我希望在部署无服务器应用程序时自动设置它,无需手动步骤。
amazon-sqs amazon-sns aws-cloudformation serverless-framework
我有一些基于 node.js 的 Lambda 正在记录数据。
为了正确查询和过滤数据等,我想从我的 Lambda 记录为纯 JSON 数据。
但是,当我执行常规操作时,console.log它会生成一个普通的数据字符串。
console.log({a:1,b:2,x:"xxx"})
结果如下:
2020-04-29T14:46:45.722Z    3f64c499-fbae-4a84-996c-5e5f0cb5302c    INFO    { a: 1, b: 2, x: 'xxx' }
上面记录的行似乎无法使用 CloudWatch 中的各种过滤器匹配选项作为 JSON 进行搜索。
我尝试AWS.CloudWatchLogs直接调用API,但由于我使用的是 lambda,因此我无法在函数调用之间维护令牌,所以我不确定这是要走的路。
有没有其他人成功地从 Javascript Lambda 记录原始 JSON?
amazon-web-services node.js amazon-cloudwatch console.log aws-lambda
在我的应用程序中,我阅读了EKEvent类型的日历事件,并且我已经使用大量计算变量进行了扩展,因此我可以轻松获得日历中每个事件的持续时间,工时等数量.但是在大规模中,性能很差 - 所以我想使用lazy vars来缓存我所有的额外数据.
因此,我想创建一个EKEvent的子类 - 名为CustomEvent,它添加了懒惰的变量,但我的问题是EKEventStore总是返回EKEvents,我需要将它转换为我的CustomEvent子类的实例,以便能够访问懒惰的vars等
一个简单的类型转换是不够的,我已经在操场上试过,看看哪些可行,但没有任何用处.我需要一个CustomRectangle的特殊构造函数,它可以从NativeRectangle初始化一个CustomRectangle.另一种解决方案是创建一个包装类,将原始对象保存为属性,但这不是我最喜欢的解决方案,因为我必须映射所有方法和属性
class NativeRectangle: NSObject {
    var width: Int
    var height: Int
    init(width: Int, height: Int) {
        self.width = width
        self.height = height
        super.init()
    }
}
class CustomRectangle: NativeRectangle {
    var area: Int { return width * height}
}
let rect = NativeRectangle(width: 100, height: 20)
let customRect = CustomRectangle(rect) // This fails, i need a constructor
print(customRect.area)
在 Firestore 中更新文档时,我想保留文档的大部分内容,但更改包含对象的一个属性。
我拥有的
{
  name: "John Doe",
  email: "me@example.com",
  friends: {
     a: {...},
     b: {...},
     c: {...},
     d: {...},
     e: {...},
     f: {...},
  }
}
现在,我有一个新的朋友对象,例如{x: ..., y: ..., z: ...}
我想覆盖friends文档树,但保留所有其他字段。
我想要它的样子
{
  name: "John Doe",
  email: "me@example.com",
  friends: {
     x: {...},
     y: {...},
     z: {...},
  }
}
但是,如果我做一个firestore.doc(...).update({friends: {...}}, { merge: true })
我目前得到的
{
  name: "John Doe",
  email: "me@example.com",
  friends: {
     a: {...},
     b: {...},
     c: {...},
     d: {...},
     e: {...},
     f: …javascript firebase google-cloud-platform google-cloud-firestore
我对RabbitMQ和AMQP协议很有经验,并且构建了一个包含命令,请求和事件模式的系统.
现在我将构建一个在AWS Lambda上运行的系统,因此使用SNS,SQS等.我想了解这些事情之间的"映射".
什么相当于AMQP的交易所?什么是路由密钥?
如何在SNS和SQS中为扇出,直接和主题交换(或类似)设置队列绑定?
别人怎么处理这个?对我来说,RabbitMQ看起来像是一个工具,可以满足消息总线的常规需求,AWS提供了块,你必须自己设置/构建功能.我对吗?
我想知道是否可以创建一个如下所示的索引
{
  "dispenserId": "my-dispenser-123",  // primary key
  "users": ["user5", "user12"],
  "robotId": "my-robot-1",
  "enabled": true,
  "side": left
}
基于我的 DynamoDB 文档,如下所示
{
  "robotId": "my-robot-1",    // primary key
  "dispensers": {
    "left": "left-dispenser-123",
    "right": "right-dispenser-123",
    "users": ["user5", "user12"]
  },
  "enabled": true,
  "users": ["user1", "user32"]
}
我无法弄清楚如何指向dispensers.leftordispensers.right并将其用作键,我也无法弄清楚如何side: left/right根据分配器 ID 的路径创建属性。
以目前的架构可以实现吗?如果没有,你们会建议什么文档结构。这允许我保存相同的数据?
amazon-sns ×3
amazon-sqs ×2
aws-lambda ×2
amazon-iam ×1
amqp ×1
casting ×1
console.log ×1
eventkit ×1
firebase ×1
indexing ×1
ios ×1
javascript ×1
migration ×1
node.js ×1
rabbitmq ×1
react-native ×1
reactjs ×1
serverless ×1
subclassing ×1
swift ×1
websocket ×1