Google DLP:"ValueError: Protocol message Value has no "字符串值" field."



我有一个方法,我可以为Google的DLP检查API的多个项目构建一个表,该表可以采用ContentItem或值表

以下是请求的构造方式:

def redact_text(text_list):
dlp = google.cloud.dlp.DlpServiceClient()
project = 'my-project'
parent = dlp.project_path(project)
items = build_item_table(text_list)
info_types = [{'name': 'EMAIL_ADDRESS'}, {'name': 'PHONE_NUMBER'}]
inspect_config = {
'min_likelihood': "LIKELIHOOD_UNSPECIFIED",
'include_quote': True,
'info_types': info_types
}
response = dlp.inspect_content(parent, inspect_config, items)
return response

def build_item_table(text_list):
rows = []
for item in text_list:
row = {"values": [{"stringValue": item}]}
rows.append(row)
table = {"table": {"headers": [{"name": "something"}], "rows": rows}}
return table

当我运行它时,我得到错误ValueError: Protocol message Value has no "stringValue" field.即使此示例和文档另有说明。

我构建请求的方式有什么问题吗?

编辑:这是build_item_table的输出

{
'table':
{
'headers': 
[
{'name': 'value'}
], 
'rows': 
[
{
'values': 
[
{
'stringValue': 'My name is Jenny and my number is (555) 867-5309, you can also email me at anemail@gmail.com, another email you can reach me at is email@email.com.  '
}
]
}, 
{
'values': 
[
{
'stringValue': 'Jimbob Doe (555) 111-1233, that one place down the road some_email@yahoo.com'
}
]
}
]
}
}

试试string_value....Python 使用字段名称,而不是类型名称。

相关内容

最新更新