17.10 - 河川流量データのオブジェクト ストアの設定 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

多くの例で、河川流量データ セットのサンプルを使用しています。U.S. Geological Surveyのご厚意により、USGS Surface-Water Data Setが提供されています。

例を実行するには、Teradata提供のパブリック バケットから河川流量データを使用します。または、データ セットの小さなオブジェクト ストアを設定することもできます。

以下の手順では、独自の外部オブジェクト ストアで河川流量データを設定する方法について説明します。

外部オブジェクト ストアは、Advanced SQL Engineのアクセスを許可するように設定する必要があります。

外部ストレージを設定する場合は、信頼証明を外部オブジェクト ストアに設定します。この信頼証明は、SQLコマンドで使用されます。USERとPASSWORD(CREATE AUTHORIZATIONコマンドで使用)およびACCESS_IDとACCESS_KEY(READ_NOSとWRITE_NOSで使用)のサポートされる信頼証明は、次の表に示す値に対応しています。

システム/スキーマ USER PASSWORD
AWS アクセス キーID アクセス キー シークレット
Azure/共有キー ストレージ アカウント名 ストレージ アカウント キー
Azure共有アクセス署名(SAS) ストレージ アカウント名 アカウントSASトークン
Google Cloud (S3相互運用モード) アクセス キーID アクセス キー シークレット
Google Cloud (ネイティブ) クライアントの電子メール 秘密鍵
オンプレミス オブジェクト ストア アクセス キーID アクセス キー シークレット
パブリック アクセス オブジェクト ストア <空の文字列>

空の文字列を左右の区別がない一重引用符で囲む: USER ''

<空の文字列>

空の文字列を左右の区別がない一重引用符で囲む: PASSWORD ''

次に、外部オブジェクト ストアでの信頼証明の設定について詳しく説明します。
Platform(プラットフォーム) 注意
Amazon S3 IAM IAMは、アクセス キーとパスワードを使用してS3バケットを保護する代わりに使用できます。IAMを使用するS3バケットへのAdvanced SQL Engineアクセスを許可するには、バケットへのアクセスを許可するロールに対して、S3バケット ポリシーを次のアクションで設定する必要があります。
  • S3:GetObject
  • S3:ListBucket
  • S3:GetBucketLocation

WRITE_NOSの場合:

  • S3:PutObject
S3:HeadBucket、S3:HeadObject、S3:ListBucketなどの他のアクションも許可されます。
Azure BlobストレージおよびAzure Data Lake Storage Gen2 アクセス キー情報を持つユーザーは、アカウント全体を完全に制御できます。または、SASをコンテナまたはコンテナ内のオブジェクトに対して定義できるので、SASはより詳細な許可アプローチとなります。NOSはいずれのタイプの許可も使用するので、どのタイプの秘密が供給されているかを知る必要はありません。
アカウントSASトークンのみがサポートされます。サービスSASトークンではエラーが表示され、拒否されます。
Google Cloud Storage Advanced SQL Engineのアクセスを許可するには、次の権限が必要です。
  • storage.objects.get
  • storage.objects.list

外部オブジェクト ストア アカウントの作成手順については、クラウド ベンダーのドキュメントを参照してください。

    以下の手順では、パブリック クラウド管理者の支援が必要な場合があります。

  1. Teradataがサポートする外部オブジェクト ストレージ プラットフォーム上に外部オブジェクト ストアを作成します。外部オブジェクト ストアに固有の名前を付けます。Teradataが提供する例では、バケット/コンテナはtd-usgsと呼ばれます。バケット/コンテナ名は固有である必要があるので、td-usgs以外の名前を選択してください。
  2. Amazonでは、バケットのアクセスIDおよび一致するシークレット キーを生成するか、Identity and Access Management(IAM)ユーザー信頼証明を生成します。Azureでは、td-usgsコンテナのアカウントSASトークン(サービスSASトークンではない)を生成します。Google Cloud Storageでは、バケットのアクセスIDおよび一致する秘密キーを生成します。
  3. サンプル データをhttps://downloads.teradata.com/(NOSダウンロード データを探す)からクライアント/ラップトップにダウンロードします。ZIPファイルには、CSV、JSON、およびParquetデータ形式による河川流量のサンプル データが含まれています。
  4. データ ディレクトリ構造を保持するように注意しながら、サンプル データをバケットまたはコンテナにコピーします。例えば、次のような場所を使用します。
    • Amazon S3: /S3/YOUR-BUCKET.s3.amazonaws.com/JSONDATA
    • Azure BlobストレージおよびAzure Data Lake Storage Gen2: /az/YOUR-STORAGE-ACCOUNT.blob.core.windows.net/td-usgs/CSVDATA/
    • Google Cloud Storage: /gs/storage.googleapis.com/YOUR-BUCKET/CSVDATA/
    Amazon S3またはAzure管理コンソール、またはAWS CLIなどのユーティリティを使用して、データを外部オブジェクト ストアにコピーできます。Google Cloud Storageの場合は、gsutilツールを使用してデータを外部オブジェクト ストアにコピーできます。
  5. サンプル コードで、td-usgs、YOUR-BUCKET、およびYOUR-STORAGE-ACCOUNTをオブジェクト ストアの場所に置き換えます。
  6. YOUR-ACCESS-KEY-IDYOUR-SECRET-ACCESS-KEYを、外部オブジェクト ストアのアクセス値に置き換えます。