alicloud-compute-fc-serverless-devs について
Serverless DevsでAlibaba Cloud Function Compute(FC 3.0)を操作するコマンドラインスキルです。認証情報の設定、Pythonサンプルの初期化、デプロイ、実行、削除、カスタムドメイン設定を案内します。
主な機能
- 01Serverless Devsのインストールと検証
- 02Alibaba Cloud認証情報の設定
- 03Python FCサンプルの初期化
- 04関数のデプロイ、実行、削除
- 05カスタムドメインの設定
活用シーン
- 01ローカルのFC 3.0プロジェクトの準備
- 02Python関数のデプロイとテスト
- 03デプロイ済み関数の削除
- 04カスタムドメイン経由でのFCサービス公開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill alicloud-compute-fc-serverless-devsインストール後、Claude Code で/alicloud-compute-fc-serverless-devsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/install_serverless_devs_and_docker.mdsources.md詳細
Category: ツール
Function Compute(FC 3.0)Serverless Devs
目標
- Serverless Devs をインストールして検証します。
- 認証情報を設定し、サンプルプロジェクトを初期化して、デプロイ、呼び出し、削除を行います。
- Python ランタイムの例を使った CLI の手順を提供します。
クイックスタートの流れ
- Node.js(14 以降)と npm をインストールします。
- Serverless Devs をインストールして検証します。
- ガイドに従って認証情報を設定します。
- サンプルプロジェクトを初期化して、ディレクトリに移動します。
- デプロイして呼び出し、必要に応じて削除します。
Serverless Devs のインストール(npm)
グローバルインストール(sudo が必要です):
sudo npm install @serverless-devs/s -g
sudo s -v
sudo を使わない代替方法(制限のある環境で推奨):
npx -y @serverless-devs/s -v
認証情報の設定(ガイド付き)
sudo s config add
Alibaba Cloud (alibaba) を選択し、AccountID、AccessKeyID、AccessKeySecret を入力して、エイリアスを設定します。
認証情報の設定(コマンド)
CLI 引数を使って、認証情報のエイリアスを 1 つのコマンドで設定します(非対話型):
s config add -a default --AccessKeyID <AK> --AccessKeySecret <SK> -f
環境変数を使用する場合は、コマンドに渡します(例):
s config add -a default -kl AccessKeyID,AccessKeySecret -il ${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET} -f
または、Serverless Devs 規約の JSON 環境変数を使用します(例):
export default_serverless_devs_key='{\"AccountID\":\"<AccountID>\",\"AccessKeyID\":\"<AK>\",\"AccessKeySecret\":\"<SK>\"}'
s.yaml での参照:
access: default_serverless_devs_key
サンプルの初期化(Python)
sudo s init start-fc3-python
cd start-fc3-python
初期化すると、s.yaml、code/、readme.md が作成されます。関数のロジックは code/index.py を編集します。
デプロイ、呼び出し、削除
sudo s deploy
sudo s invoke -e "test"
sudo s remove
カスタムドメインのバインド(デフォルトドメインによる強制ダウンロードの回避)
注:FC のデフォルトドメインは
Content-Disposition: attachmentを追加するため、ブラウザーでダウンロードが開始されます。 この動作を避けるには、カスタムドメインを使用します。
手順 1:ドメインの CNAME を設定する
DNS の CNAME を FC のパブリック CNAME に設定します:
<account_id>.<region_id>.fc.aliyuncs.com
例(杭州リージョン):
1629965279769872.cn-hangzhou.fc.aliyuncs.com
注:ゾーン頂点ドメイン(例:animus.run)を使用し、DNS プロバイダーがゾーン頂点での CNAME をサポートしていない場合は、
ALIAS/ANAME レコードを使用するか、www.animus.run などのサブドメインに切り替えてください。
手順 2:Serverless Devs でカスタムドメインを作成する
方法 A:s.yaml に fc3-domain リソースを追加します:
resources:
newsDomain:
component: fc3-domain
props:
region: cn-hangzhou
domainName: animus.run
protocol: HTTP
routeConfig:
routes:
- functionName: honnold-taipei101-news
qualifier: LATEST
methods:
- GET
- HEAD
path: /*
region はデフォルトの例です。最適なリージョンが不明な場合は、ユーザーに確認してください。
次にデプロイします:
printf 'y\n' | npx -y @serverless-devs/s deploy
方法 B:コンソールの[Advanced Features]>[Custom Domains]を使用して、カスタムドメインを作成し、ルーティングします。
よくあるエラー
DomainNameNotResolved:ドメインが正しい FC CNAME に解決されていません。InvalidICPLicense:中国本土のリージョンでは、Alibaba Cloud に関連付けられた ICP 登録が必要です。
参考資料
-
詳細な公式手順については、
references/install_serverless_devs_and_docker.mdを参照してください。 -
HTTP トリガーの制限とレスポンスヘッダーの動作(デフォルトドメインでは Content-Disposition: attachment が強制されます)
-
カスタムドメインのバインドと CNAME のガイダンス
-
公式ソース一覧:
references/sources.md
検証
mkdir -p output/alicloud-compute-fc-serverless-devs
echo "validation_placeholder" > output/alicloud-compute-fc-serverless-devs/validate.txt
合格基準:コマンドが終了コード 0 で終了し、output/alicloud-compute-fc-serverless-devs/validate.txt が生成されます。
出力と証拠
- 成果物、コマンド出力、API レスポンスの概要を
output/alicloud-compute-fc-serverless-devs/に保存します。 - 再現性を確保するため、証拠ファイルに主なパラメーター(リージョン/リソース ID/期間)を記載します。
前提条件
- 実行前に、最小権限の Alibaba Cloud 認証情報を設定します。
- 環境変数を優先します:
ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET、省略可能なALICLOUD_REGION_ID。 - リージョンが不明な場合は、変更を伴う操作を実行する前にユーザーに確認します。
ワークフロー
- ユーザーの意図、リージョン、識別子、および操作が読み取り専用か変更を伴うものかを確認します。
- 接続と権限を確認するため、最小限の読み取り専用クエリを 1 つ実行します。
- 明示的なパラメーターと限定された範囲で、対象の操作を実行します。
- 結果を確認し、出力/証拠ファイルを保存します。