我有一个脚本,我已经测试了谷歌的DLP,但突然停止了工作:
Sleep()
通常我会收到回复,但今天我已经回来了:
def redact_text(text_list):
service = build_client()
content = service.content()
items = []
for text in text_list:
items.append({
"type": "text/plain",
"value": text
})
data = { "items":items,
"inspectConfig": {
"minLikelihood": "LIKELIHOOD_UNSPECIFIED",
"maxFindings": 0,
"includeQuote": False
},
"replaceConfigs": [{'replaceWith': redacts[info], 'infoType':{'name': info}} for info in redacts.keys()]
}
request = content.redact(body=data)
response = request.execute()
return response
def build_client():
scopes = ['https://www.googleapis.com/auth/cloud-platform']
credentials = ServiceAccountCredentials.from_json_keyfile_name('cred_name.json', scopes=scopes)
http_auth = credentials.authorize(Http())
service = build('dlp', 'v2beta1', http=http_auth)
return service
if __name__ == '__main__':
test_list = []
test_text = "My name is Jenny and my number is (555) 867-5309, you can also email me at notarealemail@fakegmail.com another email you can reach me at is email@email.com. "
task = "inspect"
test_list.append(test_text)
test_list.append("bill (555) 202-4578, that one place down the road some_email@notyahoo.com")
print(test_list)
result = redact_text(test_list)
print(result)
我没有对此脚本进行任何更改,并且之前已经有效。
答案 0 :(得分:2)
5月1日,由于GA版本现已推出,因此不推荐使用beta版。
在大多数情况下,您的脚本可以正常工作,但切换到版本'v2'。
脚本的第二部分需要更改,即ContentItem“aka items”现在只是一个项目,而不是列表。
您可以使用
通过个别请求发送item = {'value': content_string}
或者如果您仍希望将其批量处理为单个请求,则可以使用表格。 (我没有运行这样的借口编译拼写错误,但api表面就是这个。)
var rows = []
var headers = [{"name": "column1"}]
for text in text_list:
rows.append({
"string_value": text,
})
item = {
"table": {
"headers": headers,
"rows": rows
}
}
data = { "item":item,
"inspectConfig": {
"minLikelihood": "LIKELIHOOD_UNSPECIFIED",
"maxFindings": 0,
"includeQuote": False
},
"replaceConfigs": [{'replaceWith': redacts[info], 'infoType':{'name': info}} for info in redacts.keys()]
}