Work Records

日々の作業記録です。ソフトウェアエンジニアリング全般から、趣味の話まで。

Parseを使う時に気をつける事まとめ(日々更新)

Parseをよく使っているのではまりどころをまとめておく事にしました。
発見次第追記していきます。

ちなみに、以下のはまりポイントはあるにしても簡単なアプリケーションをつくるならParseはオススメです。

拠点がアメリカ(西海岸)

これは日本から使う時に気にするポイント。当然アメリカと通信するのでその分パフォーマンスは遅くなります。
実際、アメリカから使った事が無いのでどのくらい違うのかわからないですが、
日本-サンフランシスコ間の距離が8,000kmなので、片道でも26msくらいはかかる。
Parseのクエリのレスポンスタイムを確認してみた - Work Records
ここにあるように、クエリ自体のパフォーマンスは約50msなので、
認証など含め何往復かする事を考えると、一回のAPIアクセスで支配的なのは距離による通信時間という事になる。
アジアのサービスの利用が増えているということなので、各地に拠点が欲しいなあと期待します。

各種制限値

無料枠では、30req/secが上限

これをオーバーするとwebコンソール上にこんなメッセージが。

This application performed 2065 requests over the last 26s, and exceeded its request limit. Please retry in 45s

Parse側が検知した段階で30req/secからはみ出た部分をならして平均30req/secになるまで次のAPIリクエストは受け取らないというロジックになっている。
制限ぎりぎりの運用をしたりすると実はParseからはじかれていたみたいな事があるので
そんな場合はあらかじめクレカを登録しておく事が吉かと。

クエリのlimitの限界が1,000

これ以上取得したい場合には、skipを設定する。
ちなみに、取得件数に比例してクエリのパフォーマンスが落ちるようです。

クエリのskipの限界が10,000

PFQueryに渡す事が出来るskipの値が1,000。

Skips larger than 10000 are not allowed

上のlimitと合わせると、limit + skipのペアでmaxで取得できる件数は11,000件という事に。
これはちょっと微妙な気がする。
limitではなく、createdAtや、シーケンスidを別にふるとかで回避できそうな気はします。

PFFileの権限

PFFileのurlに権限設定が出来ない

Parseの各レコードにはACLを設定する事が出来るが、PFFileのプロパティの一つのurlに格納されているURLは権限設定が付けられない。
Youtubeの限定公開と同じで、URLさえわかれば誰でもアクセス可能になる。
そのため、全体公開をしない画像(ユーザーのプライベート写真とか)を保存する時には注意が必要で、特にwebサイトの場合URLをソースに直接埋め込んだりしておくとちょっと怖かったりする。

CloudCode

public以下に画像をアップすると自動で画質が落ちる

これはそうゆう物っぽい。
ちょっと残念な仕様ですが、無料なので仕方ない。

置けるファイルの上限が500個。

無料でHPが作れるぞーと大量にアップロードしたら怒られました。