関数に関する情報を更新します。
デバッグ
リクエストヘッダー
この操作では、共通リクエストヘッダーと特殊リクエストヘッダーの両方を使用します。 次の表に、特別なリクエストヘッダーを示します。 共通リクエストヘッダーの詳細については、「共通パラメーター」をご参照ください。
パラメーター | データ型 | 必須 | 例 | 説明 |
If-Match | String | なし | e19d5cd5af0378da05f63f891c7467af | 変更されたリソースが変更されるリソースと一致するようにするために使用される値。 CreateFunction、GetFunction、およびUpdateFunction操作の応答から値を取得できます。 |
X-Fc-コード-チェックサム | String | なし | 543402527838814 **** | 関数コードパッケージのCRC-64値。 |
リクエスト構文
PUT /services/{serviceName}/functions/{functionName} HTTP/1.1
リクエストパラメーター
パラメーター | データ型 | 位置 | 必須 | 例 | 説明 |
serviceName | String | パス | あり | service_name | サービスの名前です。 |
functionName | String | パス | あり | function_name | 関数の名前。 |
オブジェクト | 本文 | なし | 関数の定義。 | ||
code | 本文 | なし | ZIP形式のコードパッケージ。 | ||
customContainerConfig | 本文 | なし | カスタムコンテナーランタイムの設定。 カスタムコンテナランタイムを設定した後、カスタムコンテナイメージを使用して関数を実行できます。 | ||
レイヤー | 文字列の配列 | 本文 | なし | 02f81d283888f5ec63442a88fe82b260# レイヤー名 #1 | レイヤーリソースの名前。 |
説明 | String | 本文 | なし | test_description | 関数の説明。 |
environmentVariables | 地図 | 本文 | なし | 関数に設定されている環境変数。 関数から環境変数の値を取得できます。 詳細については、「概要」をご参照ください。 | |
ハンドラー | String | 本文 | なし | index.handler | 関数のハンドラー。The handler of the function. 形式はプログラミング言語によって決まります。 詳細は、「関数ハンドラー」をご参照ください。 |
memorySize | Integer | 本文 | なし | 512 | 関数のメモリサイズ。 単位:MB。 メモリサイズは64 MBの倍数です。 インスタンスで使用できるメモリサイズは、インスタンスタイプによって異なります。 詳細については、「インスタンスの仕様」をご参照ください。 |
runtime | String | 本文 | なし | python3 | 関数のランタイム環境。 有効な値:nodejs14,nodejs12,nodejs10,nodejs8,nodejs6,nodejs4.4,python3,python2.7,java11,java8,go1,php7.2,dotnetcore2.1,カスタム、およびカスタムコンテナー. Function Computeでサポートされているランタイム環境の詳細については、「サポートされている関数ランタイム環境」をご参照ください。 |
timeout | String | 本文 | なし | 60 | Function Computeが関数を実行するためのタイムアウト期間。 単位は秒です。 デフォルト値: 0。 有効な値: 1 ~ 86400 期間が終了すると、関数の実行は終了します。 |
initializationTimeout | Integer | 本文 | なし | 60 | 初期化子関数の実行のタイムアウト時間。 単位は秒です。 デフォルト値: 3。 有効な値:1 から 300。 期間が終了すると、イニシャライザ関数の実行は終了する。 |
initializer | String | 本文 | なし | index.handler | 初期化子関数のハンドラー。 値の形式はプログラミング言語によって異なります。 詳細については、「Initializer関数」をご参照ください。 |
caPort | Integer | 本文 | なし | 9000 | HTTPサーバーがカスタムランタイムまたはカスタムコンテナランタイムをリッスンするポート。 |
関数コードパッケージは、次の2つの方法で提供できます。 1つのリクエストで1つのメソッドのみを使用する必要があります。
コードパッケージが格納されているObject Storage Service (OSS) バケット (ossBucketName) の名前とオブジェクト名 (ossObjectName) を指定します。
zipFileパラメーターの値をZIPファイルのBase64-encodedの内容に設定します。
レスポンスパラメーター
パラメーター | データ型 | 例 | 説明 |
ETag | String | e19d5cd5af0378da05f63f891c74 **** | 変更された関数が、変更される予定の関数と一致するようにするために使用される値。 値は、CreateFunction、GetFunction、およびUpdateFunction操作の応答から取得されます。 |
codeChecksum | String | 2825179536350 **** | 関数コードパッケージのCRC-64値。 |
codeSize | Long | 421 | 関数コードパッケージのサイズ。 単位:byte。 |
createdTime | String | 2020-04-01T08:14:58Z | 関数が作成された時刻。 |
customContainerConfig | カスタムコンテナーランタイムの設定。 カスタムコンテナランタイムを設定した後、カスタムコンテナイメージを使用して関数を実行できます。 | ||
レイヤー | 文字列の配列 | 02f81d283888f5ec63442a88fe82 ****# レイヤー名 #1 | レイヤーリソースの名前。 |
説明 | String | test_description | 関数の説明。 |
environmentVariables | 地図 | 関数に設定されている環境変数。 関数から環境変数の値を取得できます。 詳細については、「概要」をご参照ください。 | |
functionId | String | e68905d5-f81c-4238-a5e4-*** | 関数ごとにシステムによって生成されたID。 IDはグローバルに一意です。 |
functionName | String | function_name | 関数の名前。 |
ハンドラー | String | index.handler | 関数のハンドラー。The handler of the function. 形式はプログラミング言語によって決まります。 詳細は、「関数ハンドラー」をご参照ください。 |
lastModifiedTime | Long | 2016-08-15T17:00:00.000 0000 | 関数が最後に更新された時刻。 |
memorySize | Integer | 512 | 関数のメモリサイズ。 単位:MB。 メモリサイズは64 MBの倍数です。 インスタンスで使用できるメモリサイズは、インスタンスタイプによって異なります。 詳細については、「インスタンスの仕様」をご参照ください。 |
runtime | String | python3 | 関数のランタイム環境。 有効な値:nodejs14,nodejs12,nodejs10,nodejs8,nodejs6,nodejs4.4,python3,python2.7,java11,java8,go1,php7.2,dotnetcore2.1,カスタム、およびカスタムコンテナー. Function Computeでサポートされているランタイム環境の詳細については、「サポートされている関数ランタイム環境」をご参照ください。 |
timeout | Integer | 10 | Function Computeが関数を実行するためのタイムアウト期間。 単位は秒です。 デフォルト値: 0。 有効な値: 1 ~ 86400 期間が終了すると、関数の実行は終了します。 |
initializationTimeout | Integer | 60 | 初期化子関数の実行のタイムアウト時間。 単位は秒です。 デフォルト値: 3。 有効な値:1 から 300。 期間が終了すると、イニシャライザ関数の実行は終了する。 |
initializer | String | index.handler | 初期化子関数のハンドラー。 値の形式はプログラミング言語によって異なります。 詳細については、「Initializer関数」をご参照ください。 |
caPort | Integer | 9000 | HTTPサーバーがカスタムランタイムまたはカスタムコンテナランタイムをリッスンするポート。 |
例
リクエストの例
PUT /services/service_name/functions/function_name HTTP/1.1
Host:fc-ram.aliyuncs.com
If-Match:e19d5cd5af0378da05f63f891c7467af
X-Fc-Code-Checksum:543402527838814****
Content-Type:application/json
{
"code" : {
"ossBucketName" : "demo-bucket",
"ossObjectName" : "demo-key",
"zipFile" : "cHJpbnQoImhlbGxvIHdvcmxkIikK"
},
"customContainerConfig" : {
"args" : "[\"-arg1\", \"value1\"]",
"command" : "[\"/code/myserver\"]",
"image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
"accelerationType" : "Default",
"instanceID" : "cri-xxxxxxxx"
},
"layers" : [ "02f81d283888f5ec63442a88fe82b260#Layer-name#1" ],
"description" : "test_description",
"handler" : "index.handler",
"memorySize" : 512,
"runtime" : "python3",
"timeout" : "60",
"initializationTimeout" : 60,
"initializer" : "index.handler",
"caPort" : 9000
}
正常に処理された場合のレスポンス例
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"codeChecksum" : "2825179536350****",
"codeSize" : 421,
"createdTime" : "2020-04-01T08:14:58Z",
"customContainerConfig" : {
"args" : "[\"-arg1\", \"value1\"]",
"command" : "[\"/code/myserver\"]",
"image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
"accelerationType" : "Default",
"instanceID" : "cri-xxxxxxxx"
},
"layers" : [ "02f81d283888f5ec63442a88fe82****#Layer-name#1" ],
"description" : "test_description",
"functionId" : "e68905d5-f81c-4238-a5e4-***",
"functionName" : "function_name",
"handler" : "index.handler",
"memorySize" : 512,
"runtime" : "python3",
"timeout" : 10,
"initializationTimeout" : 60,
"initializer" : "index.handler",
"caPort" : 9000
}
エラーコード
エラーコードの一覧は、「API エラーセンター」をご参照ください。