注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

新しいオントロジー SDK Python アプリケーションをセットアップする

このページでは、オントロジー SDK を使用する Python アプリケーションを作成する手順を説明します。以下の例は、Flask ↗、Streamlit ↗、Jupyter ↗ など、多くの Python フレームワークで使用できます。

1:前提条件

Developer Console アプリケーションを作成する

新しい Developer Console アプリケーションを作成するページに記載されている手順に沿って進めてください。

トークンを設定する

ローカル環境でトークンをエクスポートします。以下はサンプルの個人用アクセストークンを使用した例ですが、Developer Console では有効期間がより長いトークンを生成できます。このトークンは個人用アクセストークンなので、ソース管理にチェックインしないでください。

Copied!
1 export FOUNDRY_TOKEN=<YOUR-TOKEN-FROM-GETTING-STARTED-PAGE>

Python のバージョンを確認する

Python SDK には、3.10以上かつ3.15未満の Python バージョンが必要です。使用している Python のバージョンを確認するには、以下のコマンドを入力します。

Copied!
1 python3 --version

任意:証明書を設定する

組織でネットワークトラフィックに証明書が必要な場合は、その証明書の保存場所を Python に指定する必要がある場合があります。

Copied!
1 2 export SSL_CERT_FILE="/path/to/my.crt" export REQUESTS_CA_BUNDLE="/path/to/my.crt"

証明書の環境変数を設定した後も、pip install が certificate verify failed エラーで失敗し続ける場合は、認証局(CA)の信頼設定が不完全です。検証を回避するのではなく、その設定を修正してください。

証明書の信頼が原因であることを一時的に確認するには、--trusted-host フラグを指定してインストールを1回実行します。このフラグは指定したホストの証明書検証を無効にするため、診断にのみ使用し、本番環境や自動化された環境では決して使用しないでください。

Copied!
1 pip install <YOUR-PACKAGE-NAME> --upgrade --extra-index-url "https://:$FOUNDRY_TOKEN@<INDEX-URL>" --trusted-host <YOUR-FOUNDRY-HOSTNAME>

<YOUR-FOUNDRY-HOSTNAME> を Foundry 環境のホスト名に置き換えます。このフラグを指定したインストールに成功した場合は、信頼チェーンが不足していることが確認できます。ネットワーク管理者と協力して、SSL_CERT_FILE と REQUESTS_CA_BUNDLE が参照するファイルに完全な CA 証明書チェーンを追加してください。その後、--trusted-host を指定せずに再インストールします。

2:SDK の最新バージョンをインストールする

SDK の最新バージョンをインストールするには、以下のコマンドを実行します。< > はすべて、アプリケーションの概要ページに記載されている、アプリケーション固有の値に置き換えます。

Copied!
1 pip install <YOUR-PACKAGE-NAME> --upgrade --extra-index-url "https://:$FOUNDRY_TOKEN@<INDEX-URL>"

フロントエンドアプリケーションを開発する

アプリケーションで Foundry クライアントを初期化し、開発を開始します。

Copied!
1 2 3 4 5 6 7 8 9 10 import os from <PACKAGE-NAME> import FoundryClient from <PACKAGE-NAME>.core.api import UserTokenAuth auth = UserTokenAuth(hostname="<YOUR-FOUNDRY-URL>", token=os.environ["FOUNDRY_TOKEN"]) client = FoundryClient(auth=auth, hostname="<YOUR-FOUNDRY-URL>") object = client.ontology.objects.<ANY-OBJECT> print(object.take(1))