我有一些启用了跟踪的Python Lambda函数,它们是这样开始的:
import json
import boto3
from aws_xray_sdk.core import patch
from aws_xray_sdk.core import xray_recorder
patch(['boto3'])
def lambda_handler(event, context):
...
有了这个跟踪,每个Lambda函数本身都可以工作,我可以看到通过boto3对DynamoDB或Kinesis的子服务调用。
但是如何在一个跟踪中将各种Lambda函数连接在一起呢?我正在考虑在第一个函数中生成一个唯一的字符串,并将其写入存储在Kinesis中的消息中。然后,另一个函数将从动觉信息中提取字符串并再次跟踪它。
如何才能在X射线中看到整个连接的轨迹?
如果调用Lambda函数的上游服务启用了跟踪,您的函数将自动发送跟踪。从您的问题中,我不确定您的函数是如何调用的。如果一个函数直接调用另一个函数,您将对它们进行单一跟踪。
对于使用Kinesis消息调用lambdas的方法,由于以下几个原因,我不确定它是否能够实现您想要的效果。首先,运动学没有与X射线集成,这意味着它不会将轨迹标头传播到下游λ。其次,lambda函数的段和跟踪头不能直接从函数的代码中访问,因为它是由lambda运行时在调用时生成的,因此是不可变的。显式重写lambda函数中的跟踪id可能会导致服务图出现不需要的行为。
谢谢。
我有一个用NodeJS编写的AWS lambda函数,在这个函数上我启用了活动跟踪,现在每次调用它时都会看到X射线跟踪。但是-Lambda函数也会发布到SNS,并且SNS不会出现在X射线轨迹中。我是否需要添加代码才能查看SNS跟踪? (lambda和SNS都使用相同的角色,所以我认为这不是问题)。 谢谢
Xdebug允许你记录所有的函数调用数据(包括参数和返回值)到不同格式的文件。 之所以称之为函数跟踪,是因为它可以帮助你在使用新的应用程序,或者当你试图找出应用程序运行时到底发生了什么。函数跟踪还可以选择显示传递给函数和方法的变量的值,并返回值。在默认跟踪中,这两个元素不可用。 输出格式 有三种输出格式。第一种是人类可读的调用栈,第二种更适合计算机程序,因为它更容易解析,最后一种使用HTML格式化
我需要设置许多每周重复的警报,当用户在上课时(这是一个学术应用程序)自动将手机调到振动状态,然后在下课时重置音量。 用户可以取消课程和注册课程(但不能直接在应用程序中),这将更新并反映在数据库中,只保留当前的课程。因此,如果我有一个警报设置到一个不再存在的类,我如何取消它,如果我不能复制PendingIntent? 我在这里看到的一个解决方案是创建一个数据库表来跟踪当前的警报,然后我就可以完全控制
我有一个由API网关事件触发的AWS Lambda函数。API网关配置为使用X射线。 由于Lambda跟踪配置默认为PassTour,因此它也会显示在X射线(服务地图等)中。 被调用的Lambda使用节点。js aws sdk调用另一个lambda。如果我理解正确,则必须将跟踪ID传递给下一次调用,以便在X射线中也显示此Lambda。在SDK的API中,我没有找到此选项。 我怎样才能做到这一点?如
我的DAO类(Spring 3.0)中有一个数据源,即: 正如eis所述,我没有更新测试用例的配置文件。
跟踪行为控制着 Entity Framework Core 是否会在其变更跟踪器里维持实体实例的信息。如果实体是被跟踪的,任何检测到的该实体的变更都将在 SaveChanges() 时持久化到数据库中。Entity Framework Core 还会对已跟踪的、之前已加载到 DbContext 实例中的查询和实体进行相互的导航属性装配。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。