首页 \ 问答 \ 循环记录(Loop with records)

循环记录(Loop with records)

为什么我无法使用此脚本向我显示特定“Klasse”中的记录列表?

我一直收到这个错误:

“错误”无法获得{{Klasse:\“1X \”,Fornavn:\“Anders \”,Efternavn:\“Andersen \”,ElevID:\“12345 \”}等Fornavn。“从丹麦语到英语的错误)

set varElevnavnIDliste to {{Klasse:"1X", Fornavn:"Anders", Efternavn:"Andersen", ElevID:"12345"}, {Klasse:"1X", Fornavn:"Julius", Efternavn:"Nielsen", ElevID:"23442"}, {Klasse:"1X", Fornavn:"Allan", Efternavn:"Mortensen", ElevID:"32193"}, {Klasse:"1X", Fornavn:"Lukas", Efternavn:"Olsen", ElevID:"87263"}, {Klasse:"1X", Fornavn:"Victor", Efternavn:"Nielsen", ElevID:"34523"}, {Klasse:"3Y", Fornavn:"Kenneth", Efternavn:"Oddersen", ElevID:"23442"}, {Klasse:"3Y", Fornavn:"Thomas", Efternavn:"Johansen", ElevID:"23452"}, {Klasse:"3Y", Fornavn:"Johan", Efternavn:"Thomasen", ElevID:"76590"}, {Klasse:"3Y", Fornavn:"Charlotte", Efternavn:"Frandsen", ElevID:"78569"}, {Klasse:"3Y", Fornavn:"Mathilde", Efternavn:"Charlottesen", ElevID:"64569"}, {Klasse:"STAFF", Fornavn:"Poul", Efternavn:"Killegaard", ElevID:"45328"}, {Klasse:"STAFF", Fornavn:"Frederik", Efternavn:"Augustesen", ElevID:"75639"}, {Klasse:"STAFF", Fornavn:"Cornelius", Efternavn:"Bugesen", ElevID:"75630"}, {Klasse:"STAFF", Fornavn:"Rikke", Efternavn:"Hansen", ElevID:"74632"}, {Klasse:"STAFF", Fornavn:"Katja", Efternavn:"Steffensen", ElevID:"65939"}}

set varResult to {}
repeat with iPar2 from 1 to (number of items in varElevnavnIDliste)
    if item 1 of varElevnavnIDliste contains {Klasse:"1X"} then
        set end of varResult to Fornavn of varElevnavnIDliste
    end if
end repeat

choose from list varResult

Why can't I get this script to show me a list of the records from a specific 'Klasse'?

I keep getting this error:

"error "Can not get Fornavn of {{Klasse:\"1X\", Fornavn:\"Anders\", Efternavn:\"Andersen\", ElevID:\"12345\"}, etc.." (I translated the error from Danish to English)

set varElevnavnIDliste to {{Klasse:"1X", Fornavn:"Anders", Efternavn:"Andersen", ElevID:"12345"}, {Klasse:"1X", Fornavn:"Julius", Efternavn:"Nielsen", ElevID:"23442"}, {Klasse:"1X", Fornavn:"Allan", Efternavn:"Mortensen", ElevID:"32193"}, {Klasse:"1X", Fornavn:"Lukas", Efternavn:"Olsen", ElevID:"87263"}, {Klasse:"1X", Fornavn:"Victor", Efternavn:"Nielsen", ElevID:"34523"}, {Klasse:"3Y", Fornavn:"Kenneth", Efternavn:"Oddersen", ElevID:"23442"}, {Klasse:"3Y", Fornavn:"Thomas", Efternavn:"Johansen", ElevID:"23452"}, {Klasse:"3Y", Fornavn:"Johan", Efternavn:"Thomasen", ElevID:"76590"}, {Klasse:"3Y", Fornavn:"Charlotte", Efternavn:"Frandsen", ElevID:"78569"}, {Klasse:"3Y", Fornavn:"Mathilde", Efternavn:"Charlottesen", ElevID:"64569"}, {Klasse:"STAFF", Fornavn:"Poul", Efternavn:"Killegaard", ElevID:"45328"}, {Klasse:"STAFF", Fornavn:"Frederik", Efternavn:"Augustesen", ElevID:"75639"}, {Klasse:"STAFF", Fornavn:"Cornelius", Efternavn:"Bugesen", ElevID:"75630"}, {Klasse:"STAFF", Fornavn:"Rikke", Efternavn:"Hansen", ElevID:"74632"}, {Klasse:"STAFF", Fornavn:"Katja", Efternavn:"Steffensen", ElevID:"65939"}}

set varResult to {}
repeat with iPar2 from 1 to (number of items in varElevnavnIDliste)
    if item 1 of varElevnavnIDliste contains {Klasse:"1X"} then
        set end of varResult to Fornavn of varElevnavnIDliste
    end if
end repeat

choose from list varResult

原文:https://stackoverflow.com/questions/40111937
更新时间:2022-02-23 18:02

最满意答案

Lambda限制适用于提供一些理智的默认值,但许多工作负载很快超过它们。 您可以请求增加,这样就不会成为您的用例的瓶颈。 本文档描述了该过程: http//docs.aws.amazon.com/lambda/latest/dg/limits.html

我不确定你的用例可以容忍多少延迟但是我经常使用SNS扇出来,并且延迟通常是下一次调用的次秒(除非它是Java / coldstart)。

如果延迟非常敏感,那么您可能希望使用Invoke直接调用Lambdas ,并将InvocationType设置为“Event” 。 这会在您Invoke 100次时最小化阻塞。 如果要进行超优化,还可以在主Lambda函数中对这些Invoke调用进行处理,以进一步提高并行性。

冷容器偶尔会导致调用延迟。 如果毫秒计数,这可能会变得棘手。 试图超级优化Lambda处理时间的人有时会使用“心跳”事件安排执行Lambda函数,该事件会立即返回(因此处理时间很便宜)。 这些容器将在一段时间内保持“温暖”状态,这样他们就可以在不产生“冷启动”时间的情况下接收您的活动。 Java容器比Node容器慢得多(我假设Python可能与Node一样快,尽管我没有测试过)。


Lambda limits are in place to provide some sane defaults but many workloads quickly exceed them. You can request an increase so this will not be a bottleneck for your use case. This document describes the process: http://docs.aws.amazon.com/lambda/latest/dg/limits.html

I'm not sure how much latency your use case can tolerate but I often use SNS to fan out and the latency is usually sub-second to the next invocation (unless it's Java/coldstart).

If latency is extremely sensitive then you'd probably want to invoke Lambdas directly using Invoke with the InvocationType set to "Event". This would minimize blocking while you Invoke 100 times. You could also thread these Invoke calls within your main Lambda function to further increase parallelism if you want to hyper-optimize.

Cold containers will occasionally cause latency in your invocations. If milliseconds count this can become tricky. People who are trying to hyper-optimize Lambda processing times will sometimes schedule executions of their Lambda function with a "heartbeat" event that returns immediately (so processing time is cheap). These containers will remain "warm" for a small period of time which allows them to pick up your events without incurring "cold startup" time. Java containers are much slower to spin up cold than Node containers (I assume Python is probably equally fast as Node though I haven't tested).

相关问答

更多
  • 我发现人们已经使用AWS SDK for Javascript但是并不需要特别要求,因为您需要创建Amazon Cognito身份池,并为未经身份验证的身份启用访问权限(Atleast适用于像我这样的初学者)。 下面的代码对我来说很好 -