1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Snowpipe REST API のメモ (Architect)

Posted at

これは何?

Snowpipe REST API についてまとめてみたメモ。

公式情報

エンドポイント

これを書いている時点では3つある。

エンドポイント名 説明 メソッド URL
insertFiles データファイルの取り込み POST https://<アカウント識別子>.snowflakecomputing.com/v1/data/pipes/<パイプ名>/insertFiles?requestId=<リクエストID>
insertReport ロード履歴レポート(直近の履歴を取得) GET https://<アカウント識別子>.snowflakecomputing.com/v1/data/pipes/<パイプ名>/insertReport?requestId=<リクエストID>&beginMark=<開始マーク>
loadHistoryScan ロード履歴レポート(指定した2点間の履歴を取得) GET https://<アカウント識別子>.snowflakecomputing.com/v1/data/pipes/<パイプ名>/loadHistoryScan?startTimeInclusive=<開始時刻>&endTimeExclusive=<終了時刻>&requestId=<リクエストID>

パラメータ名については、公式ドキュメント内で和英混じりだったりしていて表記揺れが大きい...

特徴など

制約系は理解しておいた方が良さそう。

insertFiles

  • 実行するとインジェストするファイルのキューにファイルが追加される
  • 必ずしもファイルがインジェストされたことを意味するわけではない
  • ほとんどの場合、数分以内に新しいデータをターゲットテーブルに挿入される

制約

  • 投稿には最大5000個のファイルを含めることができる
  • 指定された各ファイルパスはUTF-8としてシリアル化される場合1024バイト以内の長さである必要がある

insertReport

  • イベントはinsertFilesを介して提出されたファイルのデータがテーブルにコミットされ、クエリで利用可能になったときに発生する

制約

  • 最新の10,000件のイベントのみが保持される
  • イベントは最大10分間保持される

loadHistoryScan

  • 過去の2点間(開始、終了)を指定して履歴情報を得る
  • できればinsertReportを使うことが推奨されている
  • 429エラー(リクエストのレート制限)が発生する可能性が高いらしい
  • 制約を気にせずSnowpipe(あるいはロード)の履歴を見たいなら、INFORMATION_SCHEMAのテーブル関数COPY_HISTORYを見ればいいんじゃね説

制約

  • 最大10,000個の履歴を返却する

レスポンスコード

特にエラーのものは理解しておいた方が良さそう。

429 Request rate limit exceeded.(リクエストのレート制限を超えました。)

  • 短時間に多数のリクエストがAPIに送信された場合にこのエラーが発生する可能性がある
  • loadHistoryScanよりもinsertReportを使うことを推奨する理由にも関連する
    • loadHistoryScanは気をつけないと制約に引っかかる
    • 具体例としては、過去24時間の履歴を毎分読み取るようなリクエストを行うと発生する可能性があるらしい
    • 制約を避けるには、例えば履歴の最後の10分を8分毎に読むようにリクエストするといい、といったことが公式に書かれてある(実際はログの量次第とは思うが)

404 not recognized.(<パイプ名> は認識されません。)

  • <パイプ名>が間違っている
  • <パイプ名>を実行する権限がない
    • insertFiles : OPERATE
    • insertReport,loadHistoryScan : MONITOR
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?