#google-cloud-platform #google-cloud-dlp
#google-cloud-platform #google-cloud-dlp
Вопрос:
Цель: прочитать CSV-файл из корзины облачного хранилища и опубликовать результаты в Pub / Sub и записать результаты в BigQuery
Проблема: я могу сделать это с помощью консоли, но когда я пытаюсь сделать это с помощью API, работают только действия. Ниже приведен пример из моего кода:
'actions': [{
'pub_sub': {
'topic':
'projects/{project_id}/topics/{topic_id}'.format(
project_id=PROJECT_ID, topic_id=PUB_SUB_TOPIC)
},
'save_findings': {
"output_config": {
"table": {
"project_id": PROJECT_ID,
"dataset_id": DATASET_ID,
"table_id": TABLE_ID
}
}
}
}]
В приведенном выше коде будет работать только опция публикации в BigQuery, как написано позже. Я наткнулся на документацию, приведенную по этой ссылке, в которой говорится, что «Действие поля объединения может быть только одним из следующих»
Вопросы: Правильно ли я понимаю, что с использованием API возможно только одно из действий (запись в базу данных или публикация в pub / sub и т.д.)?
Если да, будет ли поддержка нескольких действий с использованием API, аналогичных консоли?
Приложение: Скриншот PFA конфигурации задания DLP с использованием консоли, содержащей несколько действий
Комментарии:
1. Это недопустимый JSON — используете ли вы фреймворк шаблонов для его создания? Было бы полезно включить это в качестве тега, если это так.
Ответ №1:
Ваши объекты вложены не совсем правильно.
"actions": [
{
"pubSub": {
"topic": "mytopic"
}
},
{
"saveFindings": {
"outputConfig": {
"outputSchema": "BIG_QUERY_COLUMNS",
"table": {
"datasetId": "",
"tableId": "",
"projectId": ""
}
}
}
}
]
Ответ №2:
Согласно документации, это документированное ограничение для REST API. В нем упоминается. Кроме того, это ограничение также находится на стороне RPC Rest API, здесь. Оба состояния:
действие может быть только одним из следующих
Однако я бы посоветовал вам изменить свой скрипт, чтобы выполнить два вызова метода create_dlp_job(), каждый из которых содержит по одному действию за раз в переменной с ОСТАЛЬНЫМИ.
Наконец, вы также можете открыть запрос функции по следующей ссылке.