Advanced I/O ファンクションの設定
Advanced I/O ファンクションには、ユーザーが提供した URL を短縮し、アプリケーション内のルーティングを処理するロジックが含まれています。このファンクションタイプの詳細については、こちらのヘルプページをご覧ください。
このアプリケーションの完全なコードは、チュートリアルのはじめにセクションで紹介した GitHub リポジトリでホストされています。見逃した場合は、こちらのリンクからコードをダウンロードできます。
このダウンロードしたリポジトリからプロジェクトディレクトリにファイルを追加します。
まず、ファンクションコンポーネントの詳細を確認しましょう。
-
/catly/routers 内の urlshorten.js は、主要なルーティングおよび短縮処理を実行します。 このファイルには、必要なタスクを実行するための 2 つの npm パッケージが含まれています:
- valid-url: valid URL モジュールは、ユーザーが入力した元の URL の有効性を確認するために使用します。URL が無効と判定された場合、短縮は行われません。
- shortid: shortid モジュールは、ユーザーが入力した元の URL に対してブラウザフレンドリーな短い一意の ID を生成するために使用します。
このファイルには、クライアントコンポーネントが使用する 3 つのルートが定義されています:
- /item/all: Data Store からすべてのデータを取得します。
- /:code: 特定の短縮 URL に対応する元の URL にリダイレクトします。
- /item: 元の URL を挿入し、そのショート ID を生成します。 /:code と /item を使用する際にキャッシュにアクセスしてデータを取得することで、より高速な処理を実現します。ただし、ユーザーが入力した新しい URL は、まず Data Store に永続化されます。
-
/catly/utils 内の helper.js ファイルは、Data Store と Cache にアクセスしてデータを取得したり、データを永続化したりする手順を定義しています。Data Store のテーブルからデータを取得するために ZCQL クエリを実行します。
-
/catly/utils 内の constants.js ファイルは、キャッシュセグメントの ID や元の URL とそのショート ID を保存するテーブル名など、他のファイルで使用される定数値を保存するために使用します。また、クライアントディレクトリから読み込む、URL が無効と判定された場合のエラーページも定義しています。
-
index.js はサーバーのメインファイルで、リクエストとレスポンスのパラメータを定義し、Node.js express フレームワークと npm body-parser ミドルウェアをインポートします。
-
これらのファイルに加えて、functions ディレクトリには catly フォルダ内に package.json と package-lock.json が含まれています。ファンクションのルートにある catalyst-config.json ファイルには、ファンクションの設定が含まれています。これらのファイルの詳細については、プロジェクトディレクトリ構造のヘルプページをご覧ください。
次に、プロジェクトディレクトリのルートにある functions フォルダを、ダウンロードしたリポジトリの functions フォルダで置き換えます。
プロジェクトディレクトリは以下の構造になるはずです:
ファンクションの設定プロセスを完了するには、以下の手順に従ってください:
ダウンロードしたリポジトリには、アプリケーションに必要な Node モジュールが含まれていません。そのため、catly フォルダに NPM をインストールする必要があります。
- CLI で functions/catly に移動し、以下のコマンドを実行します:
これにより、アプリケーションに必要な Node モジュールがインストールされ、依存関係ファイルが更新されます。
- 任意の IDE で package.json ファイルを開き、author の値(emma@zylker.com)をご自身のメールアドレスに置き換えます。
- utils/constants.js を開き、short_url_segment の値を Catly プロジェクトで作成したキャッシュセグメントの Segment ID に置き換えます。
キャッシュセグメントの Segment ID は、Catalyst コンソールの Cache コンポーネントに移動して Segments ページから確認できます。
Cat.ly アプリケーションから受信した元の URL とショート ID は、有効なキャッシュセグメントに保存またはそこから取得される必要があるため、この設定は不可欠です。
これで functions ディレクトリの設定が完了しました。
最終更新日 2026-03-05 11:43:24 +0530 IST


