2023-01-01から1年間の記事一覧
※2023/08/22現在、Issue#1006によりSnowflakeFile関数が利用できなくなっているため、関数を使ったロードができない状態なので注意 概要 GIS(地理情報システム)でよく使われるShapefile形式のデータをSnowflakeへロードする。 なにかいい方法がないかと模索…
概要 SnowflakeのS3 Storage Integrationで設定する対象のS3バケットにおいて、S3バケットポリシーにaws:PrincipalOrgIDを条件にしたPut系の権限を設定している場合は注意しよう。 比較的ニッチな話題ではあるが、なぜ注意が必要かというと以下のことが理由…
概要 Snowflakeにおけるオブジェクトの権限管理はロールベースで行うため、ロールの数が多くなってくるとsnowsight上でRoleグラフが複雑になって見にくくなる。 全体をみたいときには少し不便だが、ロール階層を可視化やレポートを自動作成してくれる「sfgra…
概要 S3バケットからのイベントトリガーで外部テーブルを自動更新する方法を試してみる。 データをSnowflakeにロードしてくる方法はSnowpipeやCOPYコマンドなどあるが、外部テーブルを利用するメリットは、Vectorized Scannerが使える点がある(データ形式がP…
背景 SnowflakeへのクエリはSnowsight上やSnowSQLでしか試したことがなかったので、Pythonコネクタを利用してLambdaからSnowflakeへクエリを投げる方法を試してみる。 内容 今回はLambdaとLambda Layerで構成し、SAMでデプロイをしてみる。 準備するもの ./c…
背景 業務でSnowflakeのロール設計をしたのだが、後になってグルーバル権限についても考慮する必要がでてきたので、その時に学んだことを記す。 グローバル権限とは? アカウント全体に適用される権限であり、通常はACCOUNTADMINのみによって他のロールに付…
背景 TerraformでSnowflake基盤を管理する際に、権限系のリソースオプションであるenable_multiple_grantsにはまったときの話。 TL;DR こだわりなければ、権限に関するリソースオプションのenable_multiple_grants=trueにしておいていいかもしれない。 terra…