タグ : AWS

[Amazon Redshift] TEXT 型は VARCHAR(256) に変換される

Amazon Redshift でサイズの大きい文字列を扱いたい場合 TEXT 型を使うべきではなさそうです。

公式ドキュメント によると TEXT 型は VARCHAR(256) に変換されるそうなので、MySQL や PostgreSQL の感覚で使ってしまうと想定していたよりも短い文字列しか扱えなかったということになってしまいそうです。

TEXT 型

TEXT 列を使用して Amazon Redshift テーブルを作成できますが、この列は最大 256 文字の可変長値を受け入れる VARCHAR(256) 列に変換されます。

僕は Redshift に保存するデータが log だった場合、そこそこサイズが長くなりそうだけど正確には分からない column は VARCHAR(1024) で追加しています。

Note

CREATE TABLE 構文では、文字データ型の MAX キーワードをサポートします。以下に例を示します。

CREATE TABLE test(col1 VARCHAR(MAX));

MAX 設定は列幅を定義します。CHAR の場合は 4096 バイトであり、VARCHAR の場合は 65535 となります。

MAX も使えるみたいですが、ほとんどの場合 65535 byte も使わないんじゃないでしょうか。

この記事で伝えたかったことは、「思い込みで TEXT 型を使おうとするのではなく、ちゃんと公式ドキュメントを読みましょう」ということでした。

[Amazon CloudSearch] [*Deprecated*: Use the outer message field] Validation error for field ‘xxx’: Invalid codepoint 1C

Amazon CloudSearch で検索ワードとしてインポートする JSON データの一部で下記のようなエラーが発生して、インポートできませんでした。

エラーメッセージ

[*Deprecated*: Use the outer message field] Validation error for field 'title_ja': Invalid codepoint 1C

原因のダメ文字は \u001c だったので、これを削除すれば正常に JSON データを読み込ませることが出来ました。

フォーム入力からデータベースに保存された値なのだけど、この文字どうやって入ったのかな・・・?


参考情報

AWS Developer Forums: Which codepoints are disallowed in text …

Guide to Formatting Your Data in SDF for Amazon CloudSearch : Articles & Tutorials : Amazon Web Services

Scalaで正規表現: ユニコードの空白文字29種類にマッチするか試してみた – Qiita

これは備忘録 ASCII文字コード

[AWS] EC2インスタンスが stopping のままのときの対応方法

AWS EC2 のインスタンスが stopping のままのときは、Force Stop しまくればいずれ Stopped になります。

Q: EBS-backed インスタンスが「stopping」のままのときは、どうすればよいですか?
仮想サーバホストにおいて問題が発生した際などにインスタンスは “stopping” 状態で固まることがあります。インスタンスを強制停止することでこれに対処することが出来るかもしれません。これはEC2 コマンドラインツールや AWS Management Console を通じて行っていただけます。

コマンドラインツール

ec2-stop-instances [インスタンス ID] –force

AWS マネジメントコンソール

インスタンスを右クリックし、ドロップダウンリストから “Stop” を選択します。 (Forced Stop が行われる旨が表示されます。)

注:どちらの場合でも、二度強制停止を試みていただく必要があるかもしれません。

インスタンスを強制停止できない場合は、代替のインスタンスを開始できることがあります。詳しくは、インスタンスの停止に関するトラブルシューティング を参照してください。それでも問題を解決できない場合は、AWS フォーラム から、または AWS サポートケースをオープンしてお知らせください。迅速な問題解決のために、サポートへご連絡いただく際には、既に行った手順をお知らせ頂けますようお願いいたします。

・[引用元]:Amazon EC2 インスタンスに関するよくある質問 | アマゾン ウェブ サービス(AWS 日本語)

[AWS] 各サービスが稼働しているか確認するサイト

AWS (Amazon Web Services) の各サービスが稼働しているか確認するサイト

AWS Service Health Dashboard(公式)

Found AS Status

たまにサービス死ぬので、常にそういうケースに備えておかないといけませんね・・・