alicloud-fc

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

npm install @alicloud/fc20230330 @alicloud/openapi-core @darabonba/typescript
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

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:

// 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:

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):

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

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
Weekly Installs
1
GitHub Stars
2
First Seen
14 days ago
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1