0

目标:从 Cloud Storage 存储桶读取 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 进行多项操作?

附录:使用具有多个操作的控制台配置 DLP 作业的 PFA 屏幕截图在此处输入图像描述

4

2 回答 2

2

您的对象嵌套不正确。

"actions": [
  {
    "pubSub": {
      "topic": "mytopic"
    }
  },
  {
    "saveFindings": {
      "outputConfig": {
        "outputSchema": "BIG_QUERY_COLUMNS",
        "table": {
          "datasetId": "",
          "tableId": "",
          "projectId": ""
        }
      }
    }
  }
]
于 2020-08-26T00:12:38.517 回答
0

根据文档,这是 REST API 的文档限制。它提到。此外,这个限制也出现在 Rest API 的 RPC 端,这里。两种状态:

action 只能是以下之一

但是,我建议您更改脚本,以便对create_dlp_job ()方法进行两次 调用,每个调用一次在带有 REST 的变量中包含一个操作。

最后,您还可以在以下链接中打开功能请求。

于 2020-08-26T07:46:09.420 回答