注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Python 関数は現在ベータ版の状態であり、すべてのエンロールメントで利用可能とは限りません。
以下のドキュメンテーションは、Palantir プラットフォームで Python 関数を使用するための初期準備をガイドします。Python 関数のリポジトリを作成し、関数をコミットして公開し、ライブプレビューでテストする方法などを学びます。
選択したプロジェクトに移動し、+ 新規 > コードリポジトリ を選択して新しいコードリポジトリを作成します。Python 関数 テンプレートを選択してリポジトリを初期化します。Workshop やオントロジーを基盤としたアプリケーションで使用するすべての関数を1つのリポジトリにまとめることを推奨します。これによりコストを抑えることができます。
リポジトリを作成したら、python-functions/python/python-functions/my_function.py
ファイルに移動します。
リポジトリは my_function.py
ファイルが初期化されており、いくつかのサンプル関数が含まれています。以下がその一例です:
Copied!1 2 3 4 5 6 7
# `functions.api`から`function`, `String`をインポートします from functions.api import function, String # `function`デコレータを使って、`my_function`という関数を定義します。 @function def my_function() -> String: # この関数の返り値は`String`型です。 return "Hello World!" # "Hello World!"という文字列を返します。
関数は次の制約に従う必要があります:
functions.api
パッケージから @function
でデコレートされている必要があります。これにより、Python 関数として認識されます。1つのファイルに複数の関数が含まれていても、このデコレータが付いた関数のみがPython関数として登録されます。String
として宣言されていますが、対応するPythonの型 str
としても宣言できます。引数の型を API 型(例えば String
)で宣言しても、関数実行時には対応するPythonの型(この例では str
)が渡されます。
Python関数の型の全体概要については、型リファレンスドキュメントをご覧ください。
新しい関数を追加した後、Functions ヘルパーで直ちに実行できます。画面左下から Functions ヘルパーを開き、Live Preview を選択します。add_seconds_to_datetime
関数を選び、入力値を入力して Run を選択してコードを実行します。
右上の Commit を選択して、変更をリポジトリの master
ブランチにコミットします。
関数を作成(または提供された例の関数をコメント解除)したら、以下の手順に従ってコミットして公開します。
Tag and release を選び、リリースステップが完了するのを待ちます。
チェックが成功したら、Code タブを選択し、ページ下部の Functions タブを開きます。結果に my_function
が表示されます。
次に、このリポジトリにより複雑な関数を追加してテストし、公開します。以下のコードを my_function
ファイルの末尾にコピー&ペーストします。
Copied!1 2 3 4 5 6 7 8 9 10 11
# 必要なモジュールをインポートします from functions.api import function, String from datetime import datetime, timedelta # 関数を定義します。この関数は、指定した日時に指定した秒数を加算する機能を持ちます @function def add_seconds_to_datetime(start_time: datetime, elapsed_millis: int) -> str: # timedelta関数を用いて、ミリ秒を日時に変換し、それを開始時間に加算します dt = start_time + timedelta(milliseconds=elapsed_millis) # 結果の日時をISO 8601形式の文字列として返します return dt.isoformat()
プラットフォームでPython関数を使用する方法の詳細な例については、Pipeline BuilderでPython関数を使用するおよびWorkshopでPython関数を使用するに関するドキュメントを参照してください。