Agent skill

alicloud-fc

Manage Alibaba Cloud Function Compute (FC) 3.0 using the @alicloud/fc20230330 TypeScript SDK. Use when working with serverless functions on Alibaba Cloud, including function CRUD, invocation, versions, aliases, triggers (HTTP/Timer/OSS/CDN/MNS), async invocation, concurrency and scaling configs, provisioned instances, custom domains, layers, VPC bindings, sessions, and resource tagging. Covers all 67 APIs of the FC 20230330 version.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/alicloud-fc

Metadata

Additional technical details for this skill

author
alicloud
version
1.0
api version
2023-03-30
sdk package
@alicloud/fc20230330

SKILL.md

Alibaba Cloud Function Compute (FC) 3.0 Skill

Manage serverless functions, triggers, aliases, layers, custom domains, scaling, and async invocations via the @alicloud/fc20230330 TypeScript SDK.

Prerequisites

bash
npm install @alicloud/fc20230330 @alicloud/openapi-core @darabonba/typescript
bash
export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-key-secret>"
export ALIBABA_CLOUD_REGION_ID="cn-hangzhou"

See scripts/setup_client.ts for a reusable client factory, and references/quickstart.md for full setup including regions, runtimes, error handling, and pagination.

Client Initialization

typescript
import Client from '@alicloud/fc20230330';
import { Config } from '@alicloud/openapi-core';

const client = new Client(new Config({
  accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
  accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
  regionId: 'cn-hangzhou',
  endpoint: 'cn-hangzhou.fc.aliyuncs.com',
}));

API Overview (67 APIs in 10 Domains)

Domain APIs Key Operations Reference
Function 12 createFunction, getFunction, invokeFunction, publishFunctionVersion references/function.md
Alias 5 createAlias, updateAlias, listAliases references/alias.md
Trigger 5 createTrigger, getTrigger, listTriggers references/trigger.md
Async Invocation 7 putAsyncInvokeConfig, listAsyncTasks, stopAsyncTask references/async.md
Concurrency & Scaling 12 putConcurrencyConfig, putScalingConfig, putProvisionConfig references/concurrency-scaling.md
Custom Domain 5 createCustomDomain, updateCustomDomain, listCustomDomains references/custom-domain.md
Layer 7 createLayerVersion, listLayers, putLayerACL references/layer.md
Instance & Session 6 listInstances, createSession, listSessions references/instance-session.md
VPC Binding 3 createVpcBinding, listVpcBindings references/vpc.md
Tag & Resource 5 tagResources, listTagResources, describeRegions references/tag-resource.md

Core Patterns

RESTful Path Parameters

FC 3.0 uses RESTful style. Path parameters (e.g., functionName) are direct method arguments:

typescript
// getFunction(functionName, request)
const { body } = await client.getFunction('my-func', { qualifier: 'LATEST' });

// deleteAlias(functionName, aliasName)
await client.deleteAlias('my-func', 'staging');

Body Input Pattern

Create/Update APIs pass structured data via body:

typescript
await client.createFunction({
  body: {
    functionName: 'hello',
    runtime: 'nodejs18',
    handler: 'index.handler',
    memorySize: 512,
    timeout: 60,
    code: { zipFile: base64Zip },
  },
});

Cursor-Based Pagination

List APIs use nextToken + limit (not pageNo/pageSize):

typescript
let nextToken: string | undefined;
let all: any[] = [];
do {
  const { body } = await client.listFunctions({ limit: 100, nextToken });
  all.push(...(body.functions || []));
  nextToken = body.nextToken;
} while (nextToken);

Error Handling

typescript
try {
  await client.getFunction('my-func', {});
} catch (err: any) {
  console.error(`Code: ${err.code}, Message: ${err.message}, RequestId: ${err.data?.RequestId}`);
}

Common Workflows

1. Deploy Function

createFunction → invokeFunction → publishFunctionVersion → createAlias

2. Event-Driven Trigger

createFunction → createTrigger (HTTP/Timer/OSS/CDN)

3. Blue-Green / Canary Deployment

updateFunction → publishFunctionVersion → updateAlias (additionalVersionWeight)

4. Async with Dead Letter Queue

putAsyncInvokeConfig (destinationConfig) → invokeFunction → listAsyncTasks

5. Provisioned Instances

putProvisionConfig → getProvisionConfig → listInstances

6. Custom Domain + HTTPS

createCustomDomain (routeConfig, certConfig) → getCustomDomain

7. Layer Management

createLayerVersion → updateFunction (layers) → putLayerACL

8. Scaling Configuration

putScalingConfig → putConcurrencyConfig → getScalingConfig

See references/workflows.md for detailed workflow examples with full code.

API Reference Quick Index

Load the corresponding reference file for parameter details:

  • Function CRUD/Invoke/Versions: references/function.md
  • Alias CRUD: references/alias.md
  • Trigger CRUD: references/trigger.md
  • Async Config/Tasks: references/async.md
  • Concurrency/Scaling/Provision: references/concurrency-scaling.md
  • Custom Domain: references/custom-domain.md
  • Layer Versions/ACL: references/layer.md
  • Instances/Sessions: references/instance-session.md
  • VPC Bindings: references/vpc.md
  • Tags/Resource Group/Regions: references/tag-resource.md

Each reference file contains per-API documentation with method signatures and parameter tables.

Code Examples

See scripts/examples.ts for ready-to-use code covering:

  • Function creation, listing, and invocation
  • Version publishing and alias-based canary deployment
  • HTTP and Timer trigger creation
  • Async invocation configuration
  • Provisioned instance setup
  • Layer creation and listing
  • Custom domain binding
  • Scaling and concurrency configuration

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results