Как прочитать файл паркета из ведра (GCS) и де-идентификации для конкретного столбца с помощью API DLP? - PullRequest
0 голосов
/ 03 октября 2019

Ниже приведен мой вызов JSON Object for DLP API для маскировки определенного столбца данных в файле паркета, который находится в корзине в GCS. В то время как метод calli dlp.deidentify_content () я должен передать элементу, но не знаю, как передать файл паркета, я уже упоминал путь к файлу паркета.

inspect_config = {
    'info_types': info_types,
    'custom_info_types': custom_info_types,
    'min_likelihood': min_likelihood,
    'limits': {'max_findings_per_request': max_findings},
}

actions = [{
    'saveFindings': {
        'outputConfig': {
            'table': {
                'projectId': project,
                'datasetId': 1,
                'tableId': "result1"
            }
        }
    }
}]
# Construct a storage_config containing the file's URL.
url = 'gs://{}/{}'.format(bucket, filename)

storage_config = {
    'cloud_storage_options': {
        'file_set': {'url': url}
    }
}
# Construct deidentify configuration dictionary
deidentify_config = {
    "recordTransformations": {
        "fieldTransformations": [
            {
                "fields": [
                    {
                        "name": "IP-address"
                    }
                ],
                "primitiveTransformation": {
                    "cryptoHashConfig": {
                        "cryptoKey": {
                            "transient": {
                                "name": "[TRANSIENT-CRYPTO-KEY-1]"
                            }
                        }
                    }
                }
            },
            {
                "fields": [
                    {
                        "name": "comments"
                    }
                ],
                "infoTypeTransformations": {
                    "transformations": [
                        {
                            "infoTypes": [
                                {
                                    "name": "PHONE_NUMBER"
                                },
                                {
                                    "name": "EMAIL_ADDRESS"
                                },
                                {
                                    "name": "IP_ADDRESS"
                                }
                            ],
                            "primitiveTransformation": {
                                "cryptoHashConfig": {
                                    "cryptoKey": {
                                        "transient": {
                                            "name": "[TRANSIENT-CRYPTO-KEY-2]"
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        ]
    }
}
# Call the API
response = dlp.deidentify_content(
    parent, inspect_config=inspect_config,
    deidentify_config=deidentify_config, item=item)

То, что я пытаюсь сделать, это замаскироватьфайл паркета, который находится в корзине GCS и маскирует несколько столбцов, и хранит замаскированный файл паркета как таблицу в таблице BigQuery.

1 Ответ

0 голосов
/ 10 октября 2019

Файлы паркета в настоящее время сканируются как двоичные объекты, так как система еще не выполняет их интеллектуальный анализ. В API V2 перечислены поддерживаемые типы файлов здесь

Что вы можете сделать, это загрузить свой файл паркета из корзины в bigquery, как описано в этом руководстве , а затемпарсинг данных из bigquery с DLP API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...