関数を作成します。
今すぐお試しください
テスト
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 |
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 |
| 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"
]
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。