Lithops フレームワークでのジョブの実行
Lithops は、Python アプリケーションを大規模に拡大するために設計されたオープンソース・フレームワークです。 Lithops を使用すると、IBM Cloud® Code Engine での作業がさらに楽になります。Lithops はコードのデプロイを行う役割を担い、実行のモニター、結果の取得などを行いながら巨大なスケールのデプロイメントを扱うことができますので、お客様は Python コードの開発に集中することができます。 Lithops では、Lithops API を使用することによって、Code Engine とのネイティブ Python 統合が可能になります。 Lithopsの詳細については、 Lithopsクイックスタートガイドを参照してください。
Lithops フレームワークを使用した最初のフローの実行
Lithops フレームワークを参照するジョブを実行するには、その前にまず Lithops をインストールしてストレージ・バックエンドをセットアップする必要があります。
開始前に
- Code Engine CLI をインストールします。
- Code Engine プロジェクトを作成して使用できるようにします。
kubeconfig環境変数を見つけて設定します。
Lithops のインストール
-
艇をインストールします。
-
filename 構成ファイルを作成します。
-
Docker(Community Edition)バージョンをインストールします。
-
Docker にログインします。
docker login
Lithops のストレージ・バックエンドのセットアップ
サポートされるストレージ・バックエンド (IBM Cloud Object Storage など) を選択します。
IBM Cloud Object Storage をセットアップするには、以下のようにします。
- IBM Cloud Object Storage アカウントを作成します。
- 使用するリージョンにバケットを作成します。
- サイド・ナビゲーションで**「エンドポイント」**をクリックし、API エンドポイントを見つけます。 バケットを作成したリージョンのパブリック・エンドポイントとプライベート・エンドポイントを両方ともコピーする必要があります。
- IBM Cloud Object Storageアカウントにアクセスするための資格情報を作成します。 オプションを 1 つ選択してください
Lithops のオプション 1 (API キー)
-
IBM Cloud Object Storage のナビゲーションで**「サービス資格情報」**をクリックします。
-
**「新規資格情報 +」**をクリックして名前を入力し、役割を選択します。
-
**「追加」**をクリックして、サービス資格情報を生成します。
-
**「資格情報の表示」**をクリックし、
apikeyの値をコピーします。 -
lithops構成ファイルを編集して、以下のキーを追加します。lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> api_key : <API_KEY>
Lithops のオプション 2 (IBM Cloud Object Storage HMAC 資格情報)
-
IBM Cloud Object Storage のナビゲーションで**「サービス資格情報」**をクリックします。
-
**「新規資格情報 +」**をクリックして名前を入力し、役割を選択します。
-
**「詳細オプション」**をクリックし、オプション
Include HMAC Credentialを有効にします。 -
**「追加」**をクリックして、サービス資格情報を生成します。
-
資格情報の表示をクリックし、
access_key_idとsecret_access_keyの値をコピーします。 -
lithops構成ファイルを編集して以下のキーを追加します。lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> access_key : <ACCESS_KEY_ID> secret_key : <SECRET_KEY_ID>
Lithops のオプション 3 (IBM IAM API キー)
-
IAM API キーがない場合、IBM IAM ダッシュボードにナビゲートします。
-
**「IBM Cloud API キーの作成」をクリックします。 API キーの名前と説明 (オプション) を入力して「作成」**をクリックします。
-
生成された IAM API キーをコピーします (このキーを表示できるのは作成時のみなので、必ずコピーしてください)。
-
lithops構成ファイルを編集して以下のキーを追加します。lithops: storage_backend: ibm_cos ibm: iam_api_key: <IAM_API_KEY> ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT>
Lithops を使用して最初の Code Engine ジョブをデプロイする
以下の hello world サンプルを実行します。
import lithops
iterdata = [1,2,3,4,5]
def my_map_function(data):
return data + 1
if __name__ == '__main__':
pw = lithops.function_executor(type = "serverless", backend='code_engine')
futures = pw.map(my_map_function, iterdata)
print (pw.get_result())
pw.clean()
Lithops の次のステップ
Lithopsプロジェクトのページでは、より多くの例や使用例、質問などを見つけることができる。