Google Cloud Storage
目的
Google Cloud Run サービスと Eventarc を介して Glasswall Halo API を使用し、Google Cloud Storage で自動ファイルサニタイズを設定します。
Google Cloud Storage 連携ガイド
前提条件
- Google Cloud Console アカウント
- ソース Google Cloud バケット
- 宛先 Google Cloud バケット
- Google Cloud CLI
- Glasswall のサンプルコード
注:
- 開始する前に、すべての設定パラメーターの名前が正しく、Google Cloud Run アプリケーションに追加されていることを確認してください。不一致があると失敗の原因になります。
- 提供されているサンプルコードは、このユースケースのみを示すものです。フラットファイルを処理し、高度なロギング機構は含まれていません。
ステップ 1 – セットアップ
Google は、開始時に利用できる類似のシナリオを提供しています。権限、サービス アカウント、コマンドラインのセットアップについては、Before you begin ガイドに従ってください。
完了したら、サンプルコードをデプロイする準備が整っているはずです。
また、次の手順を完了していることを確認してください。
- Google Cloud Console にサインインします。
- サンプルコードを作業ディレクトリにクローンします。
- 次のコマンドを実行します。
cd ./GCloudStorageEvents/dotnet
gcloud auth login
gcloud config set project "${PROJECT_ID}"
PROJECT_ID は、Google Cloud Platform コンソールのウェルカムページで確認できます。
ステップ 2 – Google Cloud Run をデプロイ
以下の手順では、${SERVICE_NAME} をデプロイする Cloud Run アプリケーションの希望する名前に置き換えてください。
- コマンドラインからデプロイするには、
gcloud run deployコマンドを使用します。
gcloud run deploy "${SERVICE_NAME}" --source . --region "${SERVICE_REGION}" --set-env-vars OutputBucket="${OUTPUT_BUCKET_NAME}" --set-env-vars HALO_URL="${HALO_URL}" --set-env-vars HALO_USERNAME="${HALO_USERNAME}" --set-env-vars HALO_PASSWORD="${HALO_PASSWORD}"
- 構成はデプロイ時に実行されます。
${}で囲まれた変数を適切な値に置き換えてください。
| キー | 値 |
|---|---|
| Service_name | 作成する Cloud Run サービスの名前 |
| Service_region | Cloud Run サービスをデプロイするリージョン |
| Output_bucket_name | 保存先ストレージバケット名(事前に存在している必要があります) |
| Halo_url | CDR-file エンドポイントの URL(例: https://api.glasswall.com/api/v3/cdr-file) |
| Halo_username | Halo API の Basic 認証用ユーザー名 |
| Halo_password | Halo API の Basic 認証用パスワード |
詳細については、Google Cloud Run deploy documentation を参照してください。
ステップ 3 – ストレージ イベントを設定する
ストレージ イベントを設定するには、次のコマンドを使用して Google Eventarc トリガーを作成します。
gcloud eventarc triggers create "${SERVICE_NAME}" --destination-run-service="${SERVICE_NAME}" --destination-run-region="${SERVICE_REGION}" --destination-run-path="/" --location="${SERVICE_REGION}" --event-filters="type=google.cloud.storage.object.v1.finalized" --event-filters="bucket=${INPUT_BUCKET_NAME}" --service-account="${PROJECT_NUMBER}[email protected]"
ステップ 4 – アプリケーションをテストする
アプリケーションをテストするには、サポートされているファイルを入力バケットにアップロードします。正常に処理されたファイルは出力バケットに表示されます。