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

:CreateFunction

最終更新日:Aug 28, 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

*すべてのリソース。

*

なし なし

リクエスト構文

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

任意

カスタムコンテナランタイムの構成。構成がセットされた後、関数はカスタムコンテナイメージを使用して関数を実行できます。code または customContainerConfig のいずれかを指定する必要があります。

layers

array

任意

レイヤーのリスト。

説明

複数のレイヤーは、配列インデックスの降順でマージされます。インデックスが小さいレイヤーの内容は、インデックスが大きいレイヤー内の同名のファイルを上書きします。

string

任意

レイヤーリソースの名前。フォーマット: acs:fc:{region}:{accountID}:layers/{layerName}/versions/{layerVersion}。

layerName

description

string

任意

関数の説明。

function-description

functionName

string

必須

関数の名前。名前には英字、数字、アンダースコア (_)、ハイフン (-) のみを使用できます。名前の先頭を数字またはハイフン (-) にすることはできません。名前の長さは 1~64 文字である必要があります。

functionName

handler

string

必須

関数のエントリーポイント。フォーマットは言語によって異なります。詳細については、「関数のエントリーポイント」を参照してください。

index.handler

initializationTimeout

integer

任意

初期化関数のタイムアウト期間。デフォルト値: 3。単位: 秒。最小値: 1。最大値: 300 (5 分)。このタイムアウト期間を超えると、関数は終了します。

60

initializer

string

任意

初期化関数のエントリーポイント。詳細については、「初期化関数」を参照してください。

index.initializer

memorySize

integer

任意

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

512

runtime

string

必須

関数の実行環境。有効な値: nodejs20、nodejs18、nodejs16、nodejs14、nodejs12、nodejs10、nodejs8、nodejs6、nodejs4.4、python3.10、python3.9、python3、python2.7、java11、java8、go1、php7.2、dotnetcore3.1、dotnetcore2.1、custom.debian10、custom、custom-container。詳細については、「サポートされている関数の実行環境」を参照してください。

python3.9

timeout

integer

任意

関数のタイムアウト期間。単位: 秒。最小値: 1。デフォルト値: 3。このタイムアウト期間を超えると、関数は終了します。

60

caPort

integer

任意

カスタムランタイムまたはカスタムコンテナランタイム用の HTTP サーバーのリッスンポート。

9000

environmentVariables

object

任意

関数の環境変数。関数内で環境変数にアクセスできます。詳細については、「環境変数」を参照してください。

string

任意

環境変数の構成。

{"key":"value"}

instanceConcurrency

integer

任意

インスタンスの最大同時実行数。

10

instanceSoftConcurrency

integer

任意

インスタンスのソフト同時実行数。グレースフルスケールアウトに使用されます。インスタンス上の同時実行数がソフト同時実行数を超えると、インスタンスのスケールアウトがトリガーされます。たとえば、インスタンスの起動に時間がかかる場合、適切なソフト同時実行数を設定してインスタンスを事前に起動できます。

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

5

instanceType

string

任意

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

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

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

  • fc.gpu.tesla.1: GPU Tesla シリーズのインスタンスタイプ。

  • fc.gpu.ampere.1: GPU Ampere シリーズのインスタンスタイプ。

  • fc.gpu.ada.1: GPU Ada シリーズのインスタンスタイプ。

  • g1: fc.gpu.tesla.1 と同じ。

デフォルト値: e1

e1

customRuntimeConfig CustomRuntimeConfig

任意

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

instanceLifecycleConfig InstanceLifecycleConfig

任意

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

customDNS CustomDNS

任意

関数のカスタム DNS 構成。

customHealthCheckConfig CustomHealthCheckConfig

任意

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

cpu

number

任意

関数の CPU 仕様。単位: vCPU。値は 0.05 vCPU の倍数である必要があります。

1.5

diskSize

integer

任意

関数のディスク仕様。単位: MB。有効な値: 512 MB または 10240 MB。

512

gpuMemorySize

integer

任意

関数の GPU メモリ仕様。単位: MB。値は 1024 MB の倍数である必要があります。

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

関数コードパッケージの CRC64 値。

5434025278388143772

codeSize

integer

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

1024

createdTime

string

関数が作成された時間。

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

customContainerConfig CustomContainerConfig

カスタムコンテナランタイムの構成。このパラメーターを構成すると、関数はカスタムコンテナイメージを使用して関数を実行できます。

layers

array

レイヤーのリスト。

説明

複数のレイヤーは配列インデックスの降順でマージされます。インデックスが小さいレイヤーの内容は、インデックスが大きいレイヤー内の同名のファイルを上書きします。

string

レイヤーリソースの名前。

md5#レイヤー名#version

description

string

関数の説明。

これはデモ用の hello world 関数です

functionId

string

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

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

functionName

string

関数の名前。

demo-function

handler

string

関数の実行エントリー。

インデックス.handler

lastModifiedTime

string

関数の最終変更時間。

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

memorySize

integer

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

512

runtime

string

関数のランタイム環境。有効な値: nodejs20、nodejs18、nodejs16、nodejs14、nodejs12、nodejs10、nodejs8、nodejs6、nodejs4.4、python3.10、python3.9、python3、python2.7、java11、java8、go1、php7.2、dotnetcore3.1、dotnetcore2.1、custom.debian10、custom、custom-container。詳細については、「サポートされている関数のランタイム環境」を参照してください。

python3.9

timeout

integer

関数実行のタイムアウト期間 (秒単位)。デフォルト値: 60。最小値: 1。最大値: 600 (10 分)。関数の実行時間が指定されたタイムアウト期間を超えると、実行は終了します。

10

initializationTimeout

integer

初期化関数実行のタイムアウト期間 (秒単位)。最小値: 1。デフォルト値: 3。初期化関数の実行がこの時間を超えると、実行は終了します。

60

initializer

string

初期化関数実行のエントリーポイント。具体的なフォーマットはプログラミング言語によって異なります。

インデックス.handler

caPort

integer

カスタムランタイムまたはカスタムコンテナランタイム用 HTTP サーバーのリッスンポート。

9000

environmentVariables

object

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

string

環境変数の構成。

{"key":"値"}

instanceConcurrency

integer

単一の関数インスタンスに許可される最大同時実行数。

10

instanceSoftConcurrency

integer

インスタンスのソフト同時実行数。グレースフルスケールアウトに使用されます。インスタンス上の同時実行数がソフト同時実行数を超えると、インスタンスのスケールアウトがトリガーされます。たとえば、インスタンスの起動に時間がかかる場合、適切なソフト同時実行数を設定してインスタンスを事前に起動できます。

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

5

instanceType

string

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

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

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

  • fc.gpu.tesla.1: GPU Tesla シリーズのインスタンスタイプ。

  • fc.gpu.ampere.1: GPU Ampere シリーズのインスタンスタイプ。

  • fc.gpu.ada.1: GPU Ada シリーズのインスタンスタイプ。

  • g1: fc.gpu.tesla.1 と同じ。

e1

instanceLifecycleConfig InstanceLifecycleConfig

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

customDNS CustomDNS

関数のカスタム DNS 構成。

customRuntimeConfig CustomRuntimeConfig

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

customHealthCheckConfig CustomHealthCheckConfig

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

cpu

number

関数の CPU 仕様。単位: vCPU。値は 0.05 vCPU の倍数である必要があります。

1.5

diskSize

integer

関数のディスク仕様。単位: MB。有効な値: 512 MB または 10240 MB。

512

gpuMemorySize

integer

関数の GPU メモリ仕様。単位: MB。値は 1024 MB の倍数である必要があります。

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"
  ]
}

エラーコード

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

変更履歴

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