ここでは、faascmd コマンドの使用方法について説明します。

前提条件

使用する前に faascmd を設定しておきます。

構文の説明

  • faascmd が提供するコマンドとパラメーターはすべて、大文字と小文字を区別します。

  • faascmd コマンドのパラメーターでは、等号 (=) の前後にスペースを入れないでください。

ユーザーの権限付与

"faascmd auth"コマンドを使用して、faas の管理者ユーザーにユーザーの OSS バケットへのアクセス権限を付与します。

前提条件

  1. 最初にコンパイルされた DCP ファイルをアップロードするために、FaaS 用の OSS バケットを作成しておきます。

  2. FaaS OSS バケットに"compiling_logs" という名前のフォルダーを作成しておきます。

コマンド形式

faascmd auth --bucket=<yourFaasOSSBucketName>
コード例

Alibaba Cloud アカウントに複数の RAM ユーザーアカウントがある場合は、権限付与ポリシーが繰り返し変更または上書きされないように、RAM ユーザーアカウントが OSS バケットを共有することを推奨します。

権限付与ポリシーの表示

faascmd list_policy コマンドを使用して、指定された OSS バケットが、対応する権限付与ポリシー (faasPolicy) に追加されているかどうかを表示します。

コマンド形式

faascmd list_policy
コード例

自身の OSS バケットと OSS バケットまたは compiling_log がポリシー情報に表示されているかどうかを確認する必要があります。

権限付与ポリシーの削除

faascmd delete_policy コマンドを使用して、権限付与ポリシー (faasPolicy) を削除します。

コマンド形式

faascmd delete_policy
コード例

Alibaba Cloud アカウントに複数の RAM ユーザーアカウントがある場合は、誤って権限付与ポリシーを削除しないように、RAM コンソールでターゲットポリシーを削除することを推奨します。

OSS バケットの下にあるすべてのオブジェクトの表示

faascmd list_objects commandコマンドを使用して、OSS バケットの下にあるオブジェクトをすべて表示します。

コマンド形式

faascmd list_objects
コード例

grep コマンドと一緒にこのコマンドを使用して、目的のファイル (たとえば faascmd list_objects | grep"xxx) をフィルタリングします。

元のコンパイルファイルのアップロード

faascmd upload_object コマンドを使用して、ローカル PC 上でコンパイルされた元のファイルを、指定された OSS バケットにアップロードします。

コマンド形式

faascmd upload_object --object=<newFileNameinOSSBucket> --file= <your_file_path>/fileNameYouWantToUpload 
コード例

  • ターゲットファイルが現在のディレクトリに格納されている場合、パスは必要ありません。

  • Intel FPGA が提供するローカルでコンパイルされた元のファイルは .gbs 形式で、Xilinx FPGA が提供するものは、スクリプト処理後に .tar 形式のパッケージとして圧縮されています。

OSS バケットからのオブジェクトのダウンロード

faascmd get_object コマンドを使用して、指定されたオブジェクトをOSS バケットからダウンロードします。

コマンド形式

faascmd get_object --obejct=<yourObjectName> --file=<your_local_path>/<yourFileName>
コード例

パスが指定されていない場合、オブジェクトはデフォルトで現在のフォルダーにダウンロードされます。

FPGA イメージの作成

faascmd create_image コマンドを使用して、FPGA イメージ作成リクエストを送信します。 リクエストが成功すると、"fpga imageuuid" と返されます。

コマンド形式

faascmd create_image --object=<yourObjectName> 
--fpgatype=<intel/xilinx>  --encrypted=<true/false> 
--kmskey=<key/mandatory if encrypted is true> 
--shell=<Shell Version/mandatory> --name=<name/optional> 
--description=<description/optional> --tags=<tags/optional>
コード例

FPGA イメージの表示

faascmd list_images コマンドを使用して、作成したすべての FPGA イメージに関する情報を表示します。

コマンド形式

faascmd list_images
コード例

RAM ユーザーアカウントごとに最大 10 個の FPGA イメージを予約します。

FPGA イメージの削除

faascmd delete_image コマンドを使用して、FPGA イメージを削除します。

コマンド形式

faascmd delete_image --imageuuid=<yourImageuuid>
コード例

FPGA イメージのダウンロード

faascmd download_image コマンドを使用して、FPGA イメージのダウンロードリクエストを送信します。

コマンド形式

faascmd download_image  --instanceId=<yourInstanceId> 
--fpgauuid=<yourfpgauuid> --fpgatype=<intel/xilinx> 
--imageuuid=<yourImageuuid> --imagetype=<afu> 
--shell=<yourImageShellVersion>

コード例

faascmd download_image --instanceId=XXXXX --fpgauuid=XXXX --fpgatype=intel --imageuuid=XXXX

FPGA イメージのダウンロードステータスの表示

faascmd fpga_status コマンドを使用して、現在の FPGA ボードカードのステータスと FPGA イメージのダウンロードステータスを表示します。

コマンド形式

faascmd fpga_status --fpgauuid=<fpgauuid> --instanceId=<instanceId>
コード例

FPGA イメージの発行

faascmd publish_image コマンドを使用して、FPGA イメージ発行リクエストを送信します。

コマンド形式

faascmd publish_image --imageuuid=<yourImageuuid> --imageid=<yourFPGAImageid>
  • imageuuid は、クラウドマーケットプレースに発行しようとしているイメージの ID です。 faascmd list_images コマンドを実行して、イメージ ID を表示します。
  • imageid は FPGA イメージ ID です。 ECS コンソールのインスタンスの詳細ページで ID を確認します。

FPGA インスタンス情報の表示

faascmd list_instances コマンドを使用して、インスタンス ID、FPGA ボードカード情報、シェルバージョンなど、FPGA インスタンスに関する基本情報を取得します。

コマンド形式

faascmd list_instances --instanceId=<yourInstanceId>
コード例