お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Catly

はじめに

このチュートリアルでは、長い URL を簡単に共有できる短い URL に即座に変換する、シンプルな URL 短縮アプリケーションを構築します。このアプリケーションは、Catalyst の React プラグインといくつかの Catalyst サービスを活用し、シングルページ React アプリケーションとして構築します。

クライアントアプリケーションの最終的な外観は以下のようになります:

catly-working-app

動作するアプリケーションにアクセスして機能をテストできます:アプリを試す!

このアプリケーションを Cat.ly と名付け、以下の Catalyst コンポーネントを使用して構築します:

  1. Catalyst Serverless:

    • Functions : Node.js ファンクション(Advanced I/O タイプ)に、指定された URL を短縮するロジックを実装します。
  2. Catalyst Cloud Scale:

    • Data Store : 元の URL とその短縮版を保存するために使用します。
    • ZCQL : 短縮版がアクセスされた際に、クエリを通じて Data Store から元の URL を取得します。
    • Cache : 頻繁にアクセスされる URL とその短縮版を保存し、より高速な取得とレンダリングを実現します。
    • Web Client Hosting : アプリケーションのフロントエンドをホストします。クライアントは Catalyst の React プラグイン(zcatalyst-cli-plugin-react)を使用して React フレームワークで構築します。このプラグインには、React アプリの開発およびテストに関わるさまざまな操作を内部的に処理する Node モジュールやライブラリファイルが含まれています。これにより、より高速で効率的なアプリケーション構築プロセスが実現します。

アプリケーションのソースコードはこちらの GitHub リポジトリで提供しています。

このリポジトリからコードをローカルシステムにダウンロードできます。次のセクション以降で、リポジトリ内のファイルを使用してコードを操作し、最終的なデプロイ可能なアプリケーションを構築する手順を段階的に説明します。

最終的な Cat.ly アプリケーションのディレクトリ構造は以下のようになります:

project-dir

コードの詳細に入る前に、まずアプリケーションの全体的なアーキテクチャと各 Catalyst コンポーネントの用途を確認しましょう。

アプリケーションアーキテクチャ

Cat.ly アプリケーションのアーキテクチャは以下のように説明できます:

react_app_architecture

  1. ユーザーがアプリケーションのクライアント画面のテキストボックスに短縮したい URL を入力します。
  2. Advanced I/O ファンクションが入力された URL の有効性を確認します。URL が有効な場合、短縮版 URL の ID 部分となるショート ID が生成されます。
  3. 元の URL と URL のショート ID は、簡単にアクセスできるよう Catalyst Cloud Scale の Cache セグメントに保存されます。また、Catalyst Cloud Scale の Data Store のテーブルにも保存されます。
  4. 元の URL とその短縮版がクライアントアプリケーションに表示されます。カウント変数がインクリメントされ、アプリケーションで短縮された URL の数が表示されます。
  5. ユーザーがクライアントから短縮 URL をクリックすると、ZCQL クエリが実行されて Cache セグメントから元の URL が取得されます。キャッシュアイテムが期限切れの場合は、代わりに Data Store のテーブルからデータが取得され、Cache に再保存されます。URL がアクセスされるたびにキャッシュアイテムは上書きされ、有効期限も毎回更新されます。
  6. ブラウザにリダイレクトシグナルが送信され、新しいタブで元の URL が開かれます。

最終更新日 2026-03-05 11:43:24 +0530 IST

最短完了時間:

30 mins

難易度:

Intermediate

関連サービス

Serverless Cloud Scale

関連コンポーネント

Functions Web Client Data Store ZCQL Cache