すべてのプロダクト
Search
ドキュメントセンター

Function Compute:CreateFunction

最終更新日:Feb 26, 2026

関数を作成します。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

fc:CreateFunction

create

*All Resource

*

なし なし

リクエスト構文

POST /2021-04-06/services/{serviceName}/functions HTTP/1.1

パスパラメータ

パラメーター

必須 / 任意

説明

serviceName

string

必須

サービス名。

serviceName

リクエストパラメーター

パラメーター

必須 / 任意

説明

X-Fc-Account-Id

string

任意

ご利用の Alibaba Cloud アカウントの ID。

188077086902****

function

object

任意

関数の定義。

code Code

任意

関数コードの ZIP パッケージ。 code または customContainerConfig のいずれかを設定してください。

customContainerConfig CustomContainerConfig

任意

カスタムコンテナー(Custom Container)ランタイムの構成。この構成を設定すると、Function Compute はカスタムイメージから作成されたコンテナー内で関数を実行できます。 code または customContainerConfig のいずれかを設定してください。

layers

array

任意

レイヤー。

説明

複数のレイヤーが指定されている場合、配列の添字順(大きい値から小さい値へ)に従ってマージされます。同名のファイルが存在する場合は、添字が小さいレイヤーの内容が、添字が大きいレイヤーの対応するファイルを上書きします。

string

任意

レイヤーの Alibaba Cloud リソースネーム(ARN)。形式は `acs:fc:{region}:{accountID}:layers/{layerName}/versions/{layerVersion}` です。

layerName

description

string

任意

関数の説明。

function-description

functionName

string

必須

関数名。長さは 1~64 文字で、英字、数字、アンダースコア(_)、ハイフン(-)のみ使用可能です。先頭文字には数字またはハイフン(-)を指定できません。

functionName

handler

string

必須

関数のハンドラ。使用するプログラミング言語によってフォーマットが異なります。詳細については、「関数ハンドラ」をご参照ください。

index.handler

initializationTimeout

integer

任意

Initializer フックのタイムアウト期間(単位:秒)。デフォルト値は 3 です。有効範囲は 1~300 です。タイムアウト期間が経過すると、Initializer フックの実行が強制終了されます。

60

initializer

string

任意

Initializer フック。詳細については、「Initializer フック」をご参照ください。

index.initializer

memorySize

integer

任意

関数のメモリ容量(単位:MB)。64 MB の倍数である必要があります。関数インスタンスのタイプによって容量が異なります。詳細については、「インスタンスタイプ」をご参照ください。

512

runtime

string

必須

関数のランタイム。有効な値: nodejs20nodejs18nodejs16nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.10python3.9python3python2.7java11java8go1php7.2dotnetcore3.1dotnetcore2.1custom.debian10customcustom-container。詳細については、「Function Compute でサポートされるランタイム」をご参照ください。

python3.9

timeout

integer

任意

関数実行のタイムアウト期間(単位:秒)。最小値は 1 です。デフォルト値は 3 です。タイムアウト期間が経過すると、関数の実行が強制終了されます。

60

caPort

integer

任意

カスタムランタイムまたはカスタムコンテナー(Custom Container)ランタイムにおける HTTP サーバーのリスニングポート。

9000

environmentVariables

object

任意

関数に設定した環境変数。関数内からこれらの環境変数の値を取得できます。詳細については、「環境変数」をご参照ください。

string

任意

環境変数の構成。

{"key":"value"}

instanceConcurrency

integer

任意

1 つの関数インスタンスが同時に処理できるリクエストの最大数。

10

instanceSoftConcurrency

integer

任意

インスタンスのソフト同時実行数。このプロパティを使用して、インスタンスのグレースフルなスケールアウトを実装できます。同時リクエスト数がインスタンスのソフト同時実行数を超えると、スケールアウトがトリガーされます。インスタンスの起動に時間がかかる場合、事前にインスタンスを起動するために適切なソフト同時実行数を指定できます。

この値は instanceConcurrency の値以下である必要があります。

5

instanceType

string

任意

関数のインスタンスタイプ。有効な値:

  • e1: エラスティックインスタンス

  • c1: パフォーマンスインスタンス

  • fc.gpu.tesla.1: Tesla シリーズ GPU を搭載した GPU インスタンス

  • fc.gpu.ampere.1: Ampere シリーズ GPU を搭載した GPU インスタンス

  • fc.gpu.ada.1: Ada シリーズ GPU を搭載した GPU インスタンス

  • g1: fc.gpu.tesla.1 と同等

デフォルト値: e1

e1

customRuntimeConfig CustomRuntimeConfig

任意

カスタムランタイム関数の構成。

instanceLifecycleConfig

InstanceLifecycleConfig

任意

インスタンスのライフサイクル構成。

customDNS CustomDNS

任意

関数のカスタム DNS 設定。

customHealthCheckConfig CustomHealthCheckConfig

任意

関数のカスタムヘルスチェック構成。このパラメーターは、カスタムランタイムおよびカスタムコンテナー(Custom Container)ランタイムでのみ適用されます。

cpu

number

任意

関数の CPU 容量(単位:vCPU)。値は 0.05 の倍数です。

1.5

diskSize

integer

任意

関数のディスクサイズ(単位:MB)。有効な値:512、10240。

512

gpuMemorySize

integer

任意

関数の GPU メモリ容量(単位:MB)。値は 1024 の倍数です。

2048

X-Fc-Code-Checksum

string

任意

関数コードパッケージの CRC-64 値。

1506052139770049xxxx

X-Fc-Date

string

任意

関数が呼び出された時刻。フォーマットは EEE, d MMM yyyy HH:mm:ss GMT です。

Wed, 11 May 2022 09:00:00 GMT

X-Fc-Trace-Id

string

任意

リクエストのトレース ID。応答内の requestId パラメーターの値と同じです。

test-trace-id

レスポンスフィールド

フィールド

説明

object

返却されるデータ。

codeChecksum

string

関数コードパッケージの CRC-64 値。

5434025278388143772

codeSize

integer

システムが返却する関数コードパッケージのサイズ(単位:バイト)。

1024

createdTime

string

関数が作成された時刻。

2016-08-15T15:00:00.000+0000

customContainerConfig CustomContainerConfig

カスタムコンテナー(Custom Container)ランタイムの構成。この構成を設定すると、Function Compute はカスタムイメージから作成されたコンテナー内で関数を実行できます。

layers

array

レイヤー情報の配列。

説明

複数のレイヤーが存在する場合、配列の添字順(降順)に従ってマージされます。添字が小さいレイヤーの内容が、添字が大きいレイヤーの内容を上書きします。

string

レイヤー名。

md5#layername#version

description

string

関数の説明。

This is a demo hello world function

functionId

string

関数に対してシステムが生成した一意の ID。

2d28e0e9-9ba5-4eed-8b1a-d3d9cd24 ****

functionName

string

関数名。

demo-function

handler

string

関数のハンドラ。

index.handler

lastModifiedTime

string

関数が最後に更新された時刻。

2016-08-15T17:00:00.000+0000

memorySize

integer

関数に設定されたメモリサイズ(単位:MB)。

512

runtime

string

関数のランタイム。有効な値: nodejs20nodejs18nodejs16nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.10python3.9python3python2.7java11java8go1php7.2dotnetcore3.1dotnetcore2.1custom.debian10customcustom-container。詳細については、「Function Compute でサポートされるランタイム」をご参照ください。

python3.9

timeout

integer

関数実行のタイムアウト期間(単位:秒)。デフォルト値は 60 です。有効範囲は 1~600 です。タイムアウト期間が経過すると、関数の実行が強制終了されます。

10

initializationTimeout

integer

Initializer フック実行のタイムアウト期間(単位:秒)。デフォルト値は 3 です。最小値は 1 です。期間が終了すると、Initializer フックの実行が強制終了されます。

60

initializer

string

Initializer フックのハンドラ。フォーマットはプログラミング言語によって異なります。

index.handler

caPort

integer

カスタムランタイムまたはカスタムコンテナー(Custom Container)ランタイムにおける HTTP サーバーのリスニングポート。

9000

environmentVariables

object

関数に設定した環境変数。関数内からこれらの環境変数の値を取得できます。詳細については、「環境変数」をご参照ください。

string

関数に設定した環境変数。

{"key":"value"}

instanceConcurrency

integer

1 つのインスタンスが同時に処理可能なリクエスト数。

10

instanceSoftConcurrency

integer

インスタンスのソフト同時実行数。このパラメーターを使用して、インスタンスのグレースフルなスケールアップを実装できます。インスタンスの同時リクエスト数がソフト同時実行数を超えると、インスタンスのスケールアップがトリガーされます。たとえば、インスタンスの起動に時間がかかる場合、事前にインスタンスを起動するために適切なソフト同時実行数を指定できます。

この値は instanceConcurrency パラメーターの値以下である必要があります。

5

instanceType

string

関数のインスタンスタイプ。有効な値:

  • e1: エラスティックインスタンス

  • c1: パフォーマンスインスタンス

  • fc.gpu.tesla.1: Tesla シリーズ GPU を搭載した GPU インスタンス

  • fc.gpu.ampere.1: Ampere シリーズ GPU を搭載した GPU インスタンス

  • fc.gpu.ada.1: Ada シリーズ GPU を搭載した GPU インスタンス

  • g1: fc.gpu.tesla.1 と同等

e1

instanceLifecycleConfig

InstanceLifecycleConfig

インスタンスのライフサイクル構成。

customDNS CustomDNS

関数のカスタム DNS 設定。

customRuntimeConfig CustomRuntimeConfig

カスタムランタイム関数の構成。

customHealthCheckConfig CustomHealthCheckConfig

関数のカスタムヘルスチェック構成。このパラメーターは、カスタムランタイムおよびカスタムコンテナー(Custom Container)ランタイムでのみ適用されます。

cpu

number

関数の vCPU 数。値は 0.05 の倍数です。

1.5

diskSize

integer

関数のディスクサイズ(単位:MB)。有効な値:512、10240。

512

gpuMemorySize

integer

関数の GPU メモリ容量(単位:MB)。値は 1,024 の倍数です。

2048

layersArnV2

array

レイヤーの ARN リスト。

string

レイヤーのリソースロケーター。

acs:fc:cn-hangzhou:official:layers/Python310/versions/2

成功レスポンス

JSONJSON

{
  "codeChecksum": "5434025278388143772",
  "codeSize": 1024,
  "createdTime": "2016-08-15T15:00:00.000+0000",
  "customContainerConfig": {
    "args": "[\"-arg1\", \"value1\"]",
    "command": "[\"/code/myserver\"]",
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType": "Default",
    "instanceID": "cri-xxxxxxxxxx",
    "webServerMode": true
  },
  "layers": [
    "md5#layername#version"
  ],
  "description": "This is a demo hello world function",
  "functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24\n****",
  "functionName": "demo-function",
  "handler": "index.handler",
  "lastModifiedTime": "2016-08-15T17:00:00.000+0000",
  "memorySize": 512,
  "runtime": "python3.9",
  "timeout": 10,
  "initializationTimeout": 60,
  "initializer": "index.handler",
  "caPort": 9000,
  "environmentVariables": {
    "key": "{\"key\":\"value\"}"
  },
  "instanceConcurrency": 10,
  "instanceSoftConcurrency": 5,
  "instanceType": "e1",
  "instanceLifecycleConfig": {
    "preFreeze": {
      "handler": "index.preStop",
      "timeout": 10
    },
    "preStop": {
      "handler": "index.preStop",
      "timeout": 10
    }
  },
  "customDNS": {
    "nameServers": [
      "8.8.x.x"
    ],
    "searches": [
      "ns1.svc.cluster-domain.example"
    ],
    "dnsOptions": [
      {
        "name": "ndots",
        "value": "2"
      }
    ]
  },
  "customRuntimeConfig": {
    "command": [
      "/code/myBootstrap"
    ],
    "args": [
      "args1"
    ]
  },
  "customHealthCheckConfig": {
    "httpGetUrl": "/ready",
    "initialDelaySeconds": 1,
    "periodSeconds": 1,
    "timeoutSeconds": 2,
    "failureThreshold": 1,
    "successThreshold": 2
  },
  "cpu": 1.5,
  "diskSize": 512,
  "gpuMemorySize": 2048,
  "layersArnV2": [
    "acs:fc:cn-hangzhou:official:layers/Python310/versions/2"
  ]
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。