営業担当者やサポート担当者に問い合わせて、Data Transfer v2.0 へのアクセス権を設定するときに、バケット名が提供されます。営業担当者は、Google Cloud Storage 内のデータファイルへのアクセスを制御できる Google グループを提供する必要があります。
ユーティリティを使用してデータにアクセスすることも、独自のコードを作成することもできます。
gsutil を使用してデータにアクセスする
gsutil ツールは Python で記述されたコマンドライン アプリケーションであり、コーディングなしでデータにアクセスできます。たとえば、カスタム アプリケーションを作成する代わりに、gsutil をスクリプトやバッチ ファイルの一部として使用できます。
gsutil の使用を開始するには、gsutil のドキュメントをご覧ください。認証情報を初めて使用するときに認証情報の入力を求められ、後で使用できるように認証情報が保存されます。
gsutil の例
gsutil を使用してすべてのファイルの一覧を取得するには、次のようにします。
gsutil ls gs://[bucket_name]/[object name/file name]
gsutil では、UNIX とほぼ同じ構文(ワイルドカード アスタリスク(*)など)を使用するため、すべての NetworkImpression ファイルを一覧表示できます。
gsutil ls gs://[bucket_name]/dcm_account6837_impression_*
また、ファイルのダウンロードも簡単です。
gsutil cp gs://[bucket_name]/dcm_account6837_impression_2015120100.log.gz
Unix シェル スクリプトを使用して、分散型 DT Google バケットから独自の Google API GCS バケットにファイルをコピーできます。次の 2 つの方法があります。
gsutil で Unix システムを使用している場合は、すべてのバケットに対して次のコマンドを実行します。
$ day=$(date --date="1 days ago" +"%m-%d-%Y") $ gsutil -m cp gs://{<dcmhashid_A>,<dcmhashid_B>,etc.}/*$day*.log.gz gs://<client_bucket>/
また、bash ファイルを使用するのも、やや難しい方法です。
#!/bin/bash set -x buckets={dfa_-hasid_A dfa_-hashid_B,...} #include all hash ids day=$(date --date="1 days ago" +"%m-%d-%Y") for b in ${buckets[@]}; do / gsutil -m cp gs://$b/*$day*.log.gz gs://
/ / done
プログラムでデータにアクセスする
Google Cloud Storage には、多くのプログラミング言語用の API とサンプルがあり、プログラムでデータにアクセスできます。以下の作業は、Data Transfer v2.0 に固有の手順であり、実用的な統合を構築するために必要な手順です。
サービス アカウントを取得する
Data Transfer v2.0 の使用を開始するには、まず設定ツールを使用して、Google API Console でプロジェクトを作成し、API を有効にして、認証情報を作成します。
新しいサービス アカウントを設定するには、以下の手順に従ってください。
- [認証情報を作成] > [サービス アカウント キー] をクリックします。
- サービス アカウントの公開鍵と秘密鍵を標準 P12 ファイルとしてダウンロードするか、Google API クライアント ライブラリで読み込むことのできる JSON ファイルとしてダウンロードするかを選択します。
新しい公開鍵と秘密鍵のペアが生成され、パソコンにダウンロードされます。 この鍵は再発行できませんので、大切に保管してください。
このウィンドウは開いたままにしてください。次のステップでサービス アカウントのメールアドレスが必要になります。
グループにサービス アカウントを追加する
- Google グループに移動
- [My Groups] をクリックし、Dt v2.0 Cloud Storage バケットへのアクセスの管理に使用するグループを選択します。
- [管理] をクリック
- [メンバーを招待] はクリックしないでください。
- [メンバーを直接追加] をクリックします。
- 前の手順で取得したサービス アカウントのメールアドレスを [メンバー] ボックスにコピーする
- [メールなし] を選択します。
- [追加] ボタンをクリックします。
誤ってメンバーを招待してしまった
範囲
Cloud Storage に渡すスコープは読み取り専用である必要があります。
たとえば、Java クライアント ライブラリを使用する場合、正しいスコープは
StorageScopes.DEVSTORAGE_READ_ONLYです。