--- title: "Advanced I/O関数の設定" url: https://docs.catalyst.zoho.com/ja/tutorials/newsapp/python/configure-advancedio/ description: "Catalyst Job Scheduling Cronコンポーネントと、PythonでコーディングされたJob FunctionおよびAdvanced I/O関数を使用して、サードパーティサービスから定期的にニュースを自動取得するWebニュースアプリケーションを構築します。" last_updated: 2026-03-05T06:13:24Z service: All Services type: tutorial related_links: - name: "Advanced I/O Function" url: /ja/serverless/help/functions/advanced-io - name: "データストア" url: /ja/cloud-scale/help/data-store/introduction - name: "ZCQL" url: /ja/cloud-scale/help/zcql/introduction --- # Advanced I/O関数の設定 Advanced I/O関数ディレクトリ(`functions/news_app_function`)には、以下のファイルが含まれています: * `main.py`メインファンクションファイル * `catalyst-config.json`設定ファイル * [requirements.txt](https://docs.catalyst.zoho.com/ja/cli/v1/project-directory-structure/functions-directory/#python-modules-and-function-dependencies)ファイル #### コードの追加 `main.py`ファイルにコードを追加します。 Advanced I/O関数は、Data Storeのソーステーブルからニュース項目を取得し、JSONレスポンスとしてクライアントコンポーネントに転送します。 以下のコードをコピーし、`functions/news_app_function `ディレクトリの`main.py`に貼り付けます。 **main.py** ```python import logging from flask import Request, make_response, jsonify import zcatalyst_sdk def handler(request: Request): # Catalyst SDKの初期化 app = zcatalyst_sdk.initialize() logger = logging.getLogger() # 必要なテーブルからニュースを取得するGET API if request.path == "/fetchData": table_name = request.args.get("tablename") logger.info("Fetching news from datastore table - "+table_name) zcql_instance = app.zcql() # テーブルからニュースを取得するクエリ query = "Select title,url from "+table_name # Catalyst Data Storeテーブルをクエリし、必要なニュースを取得します zcql_result = zcql_instance.execute_query(query) return jsonify({"content": zcql_result}), 200 else: # 未定義のパスの場合はエラーがスローされます response = make_response('Unknown path') response.status_code = 400 return response ``` Advanced I/O関数の設定が完了しました。クライアントの設定後に、アプリケーションのアーキテクチャについて説明します。