このサンプルは、格納される infoType を作成します。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
using System;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dlp.V2;
public class CreateStoredInfoTypes
{
public static StoredInfoType Create(
string projectId,
string outputPath,
string storedInfoTypeId)
{
// Instantiate the dlp client.
var dlp = DlpServiceClient.Create();
// Construct the stored infotype config by specifying the public table and
// cloud storage output path.
var storedInfoTypeConfig = new StoredInfoTypeConfig
{
DisplayName = "Github Usernames",
Description = "Dictionary of Github usernames used in commits.",
LargeCustomDictionary = new LargeCustomDictionaryConfig
{
BigQueryField = new BigQueryField
{
Table = new BigQueryTable
{
DatasetId = "samples",
ProjectId = "bigquery-public-data",
TableId = "github_nested"
},
Field = new FieldId
{
Name = "actor"
}
},
OutputPath = new CloudStoragePath
{
Path = outputPath
}
},
};
// Construct the request.
var request = new CreateStoredInfoTypeRequest
{
ParentAsLocationName = new LocationName(projectId, "global"),
Config = storedInfoTypeConfig,
StoredInfoTypeId = storedInfoTypeId
};
// Call the API.
StoredInfoType response = dlp.CreateStoredInfoType(request);
// Inspect the response.
Console.WriteLine($"Created the stored infotype at path: {response.Name}");
return response;
}
}
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
import (
"context"
"fmt"
"io"
dlp "cloud.google.com/go/dlp/apiv2"
"cloud.google.com/go/dlp/apiv2/dlppb"
)
// createStoredInfoType creates a custom stored info type based on your input data.
func createStoredInfoType(w io.Writer, projectID, outputPath string) error {
// projectId := "my-project-id"
// outputPath := "gs://" + "your-bucket-name" + "path/to/directory"
ctx := context.Background()
// Initialize a client once and reuse it to send multiple requests. Clients
// are safe to use across goroutines. When the client is no longer needed,
// call the Close method to cleanup its resources.
client, err := dlp.NewClient(ctx)
if err != nil {
return err
}
// Closing the client safely cleans up background resources.
defer client.Close()
// Specify the name you want to give the dictionary.
displayName := "Github Usernames"
// Specify a description of the dictionary.
description := "Dictionary of GitHub usernames used in commits"
// Specify the path to the location in a Cloud Storage
// bucket to store the created dictionary.
cloudStoragePath := &dlppb.CloudStoragePath{
Path: outputPath,
}
// Specify your term list is stored in BigQuery.
bigQueryField := &dlppb.BigQueryField{
Table: &dlppb.BigQueryTable{
ProjectId: "bigquery-public-data",
DatasetId: "samples",
TableId: "github_nested",
},
Field: &dlppb.FieldId{
Name: "actor",
},
}
// Specify the configuration of the large custom dictionary.
largeCustomDictionaryConfig := &dlppb.LargeCustomDictionaryConfig{
OutputPath: cloudStoragePath,
Source: &dlppb.LargeCustomDictionaryConfig_BigQueryField{
BigQueryField: bigQueryField,
},
}
// Specify the configuration for stored infoType.
storedInfoTypeConfig := &dlppb.StoredInfoTypeConfig{
DisplayName: displayName,
Description: description,
Type: &dlppb.StoredInfoTypeConfig_LargeCustomDictionary{
LargeCustomDictionary: largeCustomDictionaryConfig,
},
}
// Combine configurations into a request for the service.
req := &dlppb.CreateStoredInfoTypeRequest{
Parent: fmt.Sprintf("projects/%s/locations/global", projectID),
Config: storedInfoTypeConfig,
StoredInfoTypeId: "github-usernames",
}
// Send the request and receive response from the service.
resp, err := client.CreateStoredInfoType(ctx, req)
if err != nil {
return err
}
// Print the result.
fmt.Fprintf(w, "output: %v", resp.Name)
return nil
}
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
import com.google.cloud.dlp.v2.DlpServiceClient;
import com.google.privacy.dlp.v2.BigQueryField;
import com.google.privacy.dlp.v2.BigQueryTable;
import com.google.privacy.dlp.v2.CloudStoragePath;
import com.google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
import com.google.privacy.dlp.v2.FieldId;
import com.google.privacy.dlp.v2.LargeCustomDictionaryConfig;
import com.google.privacy.dlp.v2.LocationName;
import com.google.privacy.dlp.v2.StoredInfoType;
import com.google.privacy.dlp.v2.StoredInfoTypeConfig;
import java.io.IOException;
public class CreateStoredInfoType {
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
//The Google Cloud project id to use as a parent resource.
String projectId = "your-project-id";
// The path to the location in a GCS bucket to store the created dictionary.
String outputPath = "gs://" + "your-bucket-name" + "path/to/directory";
createStoredInfoType(projectId, outputPath);
}
// Creates a custom stored info type that contains GitHub usernames used in commits.
public static void createStoredInfoType(String projectId, String outputPath)
throws IOException {
try (DlpServiceClient dlp = DlpServiceClient.create()) {
// Optionally set a display name and a description.
String displayName = "GitHub usernames";
String description = "Dictionary of GitHub usernames used in commits";
// The output path where the custom dictionary containing the GitHub usernames will be stored.
CloudStoragePath cloudStoragePath =
CloudStoragePath.newBuilder()
.setPath(outputPath)
.build();
// The reference to the table containing the GitHub usernames.
BigQueryTable table = BigQueryTable.newBuilder()
.setProjectId("bigquery-public-data")
.setDatasetId("samples")
.setTableId("github_nested")
.build();
// The reference to the BigQuery field that contains the GitHub usernames.
BigQueryField bigQueryField = BigQueryField.newBuilder()
.setTable(table)
.setField(FieldId.newBuilder().setName("actor").build())
.build();
LargeCustomDictionaryConfig largeCustomDictionaryConfig =
LargeCustomDictionaryConfig.newBuilder()
.setOutputPath(cloudStoragePath)
.setBigQueryField(bigQueryField)
.build();
StoredInfoTypeConfig storedInfoTypeConfig = StoredInfoTypeConfig.newBuilder()
.setDisplayName(displayName)
.setDescription(description)
.setLargeCustomDictionary(largeCustomDictionaryConfig)
.build();
// Combine configurations into a request for the service.
CreateStoredInfoTypeRequest createStoredInfoType = CreateStoredInfoTypeRequest.newBuilder()
.setParent(LocationName.of(projectId, "global").toString())
.setConfig(storedInfoTypeConfig)
.setStoredInfoTypeId("github-usernames")
.build();
// Send the request and receive response from the service.
StoredInfoType response = dlp.createStoredInfoType(createStoredInfoType);
// Print the results.
System.out.println("Created Stored InfoType: " + response.getName());
}
}
}
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
// Import the required libraries
const dlp = require('@google-cloud/dlp');
// Create a DLP client
const dlpClient = new dlp.DlpServiceClient();
// The project ID to run the API call under.
// const projectId = "your-project-id";
// The identifier for the stored infoType
// const infoTypeId = 'github-usernames';
// The path to the location in a Cloud Storage bucket to store the created dictionary
// const outputPath = 'cloud-bucket-path';
// The project ID the table is stored under
// This may or (for public datasets) may not equal the calling project ID
// const dataProjectId = 'my-project';
// The ID of the dataset to inspect, e.g. 'my_dataset'
// const datasetId = 'my_dataset';
// The ID of the table to inspect, e.g. 'my_table'
// const tableId = 'my_table';
// Field ID to be used for constructing dictionary
// const fieldName = 'field_name';
async function createStoredInfoType() {
// The name you want to give the dictionary.
const displayName = 'GitHub usernames';
// A description of the dictionary.
const description = 'Dictionary of GitHub usernames used in commits';
// Specify configuration for the large custom dictionary
const largeCustomDictionaryConfig = {
outputPath: {
path: outputPath,
},
bigQueryField: {
table: {
datasetId: datasetId,
projectId: dataProjectId,
tableId: tableId,
},
field: {
name: fieldName,
},
},
};
// Stored infoType configuration that uses large custom dictionary.
const storedInfoTypeConfig = {
displayName: displayName,
description: description,
largeCustomDictionary: largeCustomDictionaryConfig,
};
// Construct the job creation request to be sent by the client.
const request = {
parent: `projects/${projectId}/locations/global`,
config: storedInfoTypeConfig,
storedInfoTypeId: infoTypeId,
};
// Send the job creation request and process the response.
const [response] = await dlpClient.createStoredInfoType(request);
// Print results
console.log(`InfoType stored successfully: ${response.name}`);
}
await createStoredInfoType();
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
use Google\Cloud\Dlp\V2\BigQueryField;
use Google\Cloud\Dlp\V2\BigQueryTable;
use Google\Cloud\Dlp\V2\DlpServiceClient;
use Google\Cloud\Dlp\V2\CloudStoragePath;
use Google\Cloud\Dlp\V2\FieldId;
use Google\Cloud\Dlp\V2\LargeCustomDictionaryConfig;
use Google\Cloud\Dlp\V2\StoredInfoTypeConfig;
/**
* Create a stored infoType.
*
* @param string $callingProjectId The Google Cloud Project ID to run the API call under.
* @param string $outputgcsPath The path to the location in a Cloud Storage bucket to store the created dictionary.
* @param string $storedInfoTypeId The name of the custom stored info type.
* @param string $displayName The human-readable name to give the stored infoType.
* @param string $description A description for the stored infoType to be created.
*/
function create_stored_infotype(
string $callingProjectId,
string $outputgcsPath,
string $storedInfoTypeId,
string $displayName,
string $description
): void {
// Instantiate a client.
$dlp = new DlpServiceClient();
// The reference to the table containing the GitHub usernames.
// The reference to the BigQuery field that contains the GitHub usernames.
// Note: we have used public data
$bigQueryField = (new BigQueryField())
->setTable((new BigQueryTable())
->setDatasetId('samples')
->setProjectId('bigquery-public-data')
->setTableId('github_nested'))
->setField((new FieldId())
->setName('actor'));
$largeCustomDictionaryConfig = (new LargeCustomDictionaryConfig())
// The output path where the custom dictionary containing the GitHub usernames will be stored.
->setOutputPath((new CloudStoragePath())
->setPath($outputgcsPath))
->setBigQueryField($bigQueryField);
// Configure the StoredInfoType we want the service to perform.
$storedInfoTypeConfig = (new StoredInfoTypeConfig())
->setDisplayName($displayName)
->setDescription($description)
->setLargeCustomDictionary($largeCustomDictionaryConfig);
// Send the stored infoType creation request and process the response.
$parent = "projects/$callingProjectId/locations/global";
$response = $dlp->createStoredInfoType($parent, $storedInfoTypeConfig, [
'storedInfoTypeId' => $storedInfoTypeId
]);
// Print results.
printf('Successfully created Stored InfoType : %s', $response->getName());
}
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
import google.cloud.dlp
def create_stored_infotype(
project: str,
stored_info_type_id: str,
output_bucket_name: str,
) -> None:
"""Uses the Data Loss Prevention API to create stored infoType.
Args:
project: The Google Cloud project id to use as a parent resource.
stored_info_type_id: The identifier for large custom dictionary.
output_bucket_name: The name of the bucket in Google Cloud Storage
that would store the created dictionary.
"""
# Instantiate a client.
dlp = google.cloud.dlp_v2.DlpServiceClient()
# Construct the stored infoType Configuration dictionary. This example creates
# a stored infoType from a term list stored in a publicly available BigQuery
# database (bigquery-public-data.samples.github_nested).
# The database contains all GitHub usernames used in commits.
stored_info_type_config = {
"display_name": "GitHub usernames",
"description": "Dictionary of GitHub usernames used in commits",
"large_custom_dictionary": {
"output_path": {"path": f"gs://{output_bucket_name}"},
# We can either use bigquery field or gcs file as a term list input option.
"big_query_field": {
"table": {
"project_id": "bigquery-public-data",
"dataset_id": "samples",
"table_id": "github_nested",
},
"field": {"name": "actor"},
},
},
}
# Convert the project id into a full resource id.
parent = f"projects/{project}/locations/global"
# Call the API.
response = dlp.create_stored_info_type(
request={
"parent": parent,
"config": stored_info_type_config,
"stored_info_type_id": stored_info_type_id,
}
)
# Print the result
print(f"Created Stored InfoType: {response.name}")
次のステップ
他の Google Cloud プロダクトに関連するコードサンプルの検索およびフィルタ検索を行うには、Google Cloud のサンプルをご覧ください。