mcpField
A
alicloud-compute-fc-serverless-devs

alicloud-compute-fc-serverless-devs

github.com/cinienceクラウド・DevOps396270 回インストール11 週間前に更新
リポジトリ

alicloud-compute-fc-serverless-devs について

Serverless DevsでAlibaba Cloud Function Compute(FC 3.0)を操作するコマンドラインスキルです。認証情報の設定、Pythonサンプルの初期化、デプロイ、実行、削除、カスタムドメイン設定を案内します。

主な機能

  1. 01Serverless Devsのインストールと検証
  2. 02Alibaba Cloud認証情報の設定
  3. 03Python FCサンプルの初期化
  4. 04関数のデプロイ、実行、削除
  5. 05カスタムドメインの設定

活用シーン

  1. 01ローカルのFC 3.0プロジェクトの準備
  2. 02Python関数のデプロイとテスト
  3. 03デプロイ済み関数の削除
  4. 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.yaml
references/
install_serverless_devs_and_docker.md
sources.md

詳細

Category: ツール

Function Compute(FC 3.0)Serverless Devs

目標

  • Serverless Devs をインストールして検証します。
  • 認証情報を設定し、サンプルプロジェクトを初期化して、デプロイ、呼び出し、削除を行います。
  • Python ランタイムの例を使った CLI の手順を提供します。

クイックスタートの流れ

  1. Node.js(14 以降)と npm をインストールします。
  2. Serverless Devs をインストールして検証します。
  3. ガイドに従って認証情報を設定します。
  4. サンプルプロジェクトを初期化して、ディレクトリに移動します。
  5. デプロイして呼び出し、必要に応じて削除します。

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 登録が必要です。

参考資料

検証

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. ユーザーの意図、リージョン、識別子、および操作が読み取り専用か変更を伴うものかを確認します。
  2. 接続と権限を確認するため、最小限の読み取り専用クエリを 1 つ実行します。
  3. 明示的なパラメーターと限定された範囲で、対象の操作を実行します。
  4. 結果を確認し、出力/証拠ファイルを保存します。

コメント