python - 我想传递一些额外的值 Pydantics 类,这些额外的值被`@validator`方法使用
问题描述
我想将一些额外的值(除了有效负载)传递给 Pydantics 类。
我有一个具有这两个属性的有效负载 -
payload ={
"emailId":"some@email.com",
"role": "some role"
}
为了验证这个有效载荷,我创建了一个这样的类 -
class Payloadvalidator(BaseModel):
emailId: str
role: str
我还在这些需要与发电机表交互的属性上执行一些复杂的验证。为了实现这一点,我还必须创建一个发电机客户端和表实例。AWS lambda 的最佳实践是不再创建 dynamo 实例。它也应该在 lambda 处理程序之外创建。所以我这样做了 -
dynamo_client = #client
table = #table
def lambda_handler(event, context):
try:
PayloadValidator(**payload)
except Exception as e:
return e.json
现在的问题是我不知道如何将这些客户端传递给验证器方法。我不想向PayloadValidator()
如下所示添加任何其他属性,因为这不是一个好习惯。
class Payloadvalidator(BaseModel):
emailId: str
role: str
table: str
dynamo_client = #client
table = #table
def lambda_handler(event, context):
try:
PayloadValidator(**payload, table=table)
except Exception as e:
return e.json
解决方案
推荐阅读
- r - ggplot 中的 facet 函数如何用于创建直方图以可视化数据集中所有变量的分布?
- rest - 使用 Spoke of Integration Hub 设置 DocuSign 与 ServiceNow 集成的问题
- java - 即使 $JAVA_HOME 似乎设置正确,也找不到使用 maven 的 javadoc 可执行文件
- c# - 图像在 Visual Studio 上通过 IIS Express 运行时可以加载,但在 IIS 上运行时无法加载
- php - 检查会话 id 是否等于特定值
- css - 防止图像超出窗口大小
- docker - 无法访问 docker 容器外的 kafka
- laravel - 解决方案:预期响应代码 250,但得到代码“530”,消息“530 5.71 需要身份验证”
- javascript - 如何在nodejs上的.env中设置变量
- google-bigquery - 如何使用 bq ls 命令行工具按时长排序