mcpField
A
aliyun-fc-serverless-devs

aliyun-fc-serverless-devs

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

aliyun-fc-serverless-devs について

Alibaba Cloud Function Compute(FC 3.0)を Serverless Devs で扱う開発者向けスキルです。認証情報の設定、Python サンプルの初期化、デプロイや呼び出し、削除、カスタムドメイン設定を案内します。

主な機能

  1. 01Alibaba Cloud 認証情報の設定
  2. 02Python サンプルプロジェクトの初期化
  3. 03関数のデプロイ、呼び出し、削除
  4. 04カスタムドメインの設定
  5. 05権限確認と実行記録の保存

活用シーン

  1. 01FC 3.0 の Python サンプルの準備
  2. 02関数アプリのデプロイと呼び出し
  3. 03関数へのカスタムドメインの割り当て

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-fc-serverless-devs

インストール後、Claude Code で/aliyun-fc-serverless-devsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
install_serverless_devs_and_docker.md
sources.md

詳細

Category: tool

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 ${ALIBABACLOUD_ACCESS_KEY_ID},${ALIBABACLOUD_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

注:apex ドメイン(例:animus.run)を使用し、DNS プロバイダーが apex での 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/aliyun-fc-serverless-devs
echo "validation_placeholder" > output/aliyun-fc-serverless-devs/validate.txt

合格基準:コマンドが終了コード 0 で終了し、output/aliyun-fc-serverless-devs/validate.txt が生成されること。

出力と証跡

  • 成果物、コマンド出力、API レスポンスの要約を output/aliyun-fc-serverless-devs/ に保存します。
  • 再現できるよう、証跡ファイルには主要なパラメーター(リージョン/リソース ID/時間範囲)を含めます。

前提条件

  • 実行前に、最小権限の Alibaba Cloud 認証情報を設定してください。
  • 環境変数を使用することを推奨します:ALIBABACLOUD_ACCESS_KEY_ID、ALIBABACLOUD_ACCESS_KEY_SECRET、任意で ALIBABACLOUD_REGION_ID。
  • リージョンが不明な場合は、変更を伴う操作を実行する前にユーザーに確認してください。

ワークフロー

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

コメント