Put Action

Prev Next

Classic/VPC環境で利用できます。

Cloud Functionsアクションを作成したり、変更したりします。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
PUT /packages/{packageName}/actions/{actionName}

リクエストヘッダ

Cloud Funtions APIで共通して使用されるヘッダの詳細は、Cloud Functionsの共通ヘッダをご参照ください。

リクエストパスパラメータ

パラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
packageName String Required パッケージ名
  • 英数字、記号の「-」、「_」のみ使用して1~50文字以内で入力、先頭文字に「-」は使用不可
  • 他のリソース(パッケージ、アクション、トリガー)名と重複不可
  • ;パッケージに属しないアクションの場合、記号の「-」を入力
    • <例> /packages/-/actions/myaction
actionName String Required アクション名
  • 英数字、記号の「-」、「_」のみ使用して1~50文字以内で入力、先頭文字に「-」は使用不可
  • 他のリソース(パッケージ、アクション、トリガー)名と重複不可

リクエストクエリパラメータ

パラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
platform String Optional プラットフォーム区分
  • vpc | classic(デフォルト)

リクエストボディ

リクエストボディの説明は次の通りです。

Basicアクション

Basicアクションのリクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
description String Optional アクションの説明(Byte)
  • 0~3,000
web Boolean Optional ウェブアクションの設定
  • true | false
    • true: ウェブアクション
    • false: 一般のアクション
  • デフォルト
    • 新規アクションの作成時: false
    • 既存のアクションの変更時: true
  • 既存のアクションのタイプは変更不可
raw-http Boolean Optional 未加工 HTTPの使用有無
  • true | false(デフォルト)
  • webfalseの場合、falseのみ入力可能
  • ウェブアクションのみサポート
custom-options Boolean Optional ヘッダオプションの設定
  • true | false(デフォルト)
  • webfalseの場合はfalseのみ入力可能
  • ウェブアクションのみサポート
parameters Object Optional アクションのデフォルトパラメータ
  • {"key": "value"}形式の JSON
  • アクション実行時、パラメータ適用の優先順位
    • 1番目: 実行時に渡されるランタイムパラメータ
    • 2番目: 関連付けられているトリガーのデフォルトパラメータ
    • 3番目: アクションのデフォルトパラメータ
    • 4番目: 含まれているパッケージのデフォルトパラメータ
limits.timeout Integer Required アクションの最大実行時間(ミリ秒)
  • 500~300,000
  • タイムアウト超過時はアクションを強制終了
limits.memory Integer Required アクションの最大メモリ容量(MB)
  • 128 | 256 | 512 | 1024
exec.kind String Required アクションのランタイム
exec.binary Boolean Required アクションコードファイルはバイナリかどうか
  • true | false
    • true: exec.codeにアクションコードファイルの Base64エンコードされた値を入力
    • false: exec.codeにアクションコードを入力
  • exec.kindjavaまたはdotnet:2.2の場合はtrueと入力
exec.code String Required アクションのソースコード
  • ソースコード: コード内容をそのまま入力
  • ファイル添付: アクションコードファイルのバイナリデータを Base64エンコードして入力
  • コードを直接入力する場合、エスケープ(escape)処理が必要
  • Javaまたは.netランタイムはファイルバイナリのみ許可
  • Javaは圧縮された*.jarファイル形式のみアップロード可能
  • .net(dotnet)の場合、*.zipファイル(圧縮ファイル)形式のみアップロード可能
exec.main String Required 実行関数
vpc Object Optional 接続対象の VPC情報
  • platformvpcの場合にのみ入力
vpc.vpcNo Integer Optional 接続対象の VPC番号
vpc.subnetNo Integer Optional 接続対象の Subnet番号

Sequenceアクション

Sequenceアクションのリクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
description String Optional アクションの説明(Byte)
  • 0~3,000
web Boolean Optional ウェブアクションの設定
  • true | false
    • true: ウェブアクション
    • false: 一般のアクション
  • デフォルト
    • 新規アクションの作成時: false
    • 既存のアクションの変更時: true
  • 既存のアクションのタイプは変更不可
exec.kind String Required アクションの種類
  • sequence(固定値)
exec.components String[] Required シーケンスアクションに関連付けるアクションリスト
  • {packageName}/{actionName}形式
  • アクションを実行する順に入力
  • パッケージに属しないアクションを関連付ける場合、packageNameに記号の「-」を入力

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/api/v2/packages/package003/actions/action001?platform=classic' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '<下記参照>'
{
    "description" : "Create Action",
    "web": false,
    "raw-http": false,
    "custom-options" : false,
    "parameters": {
            "name": "action000"
    },
    "limits": {
        "timeout": 60000,
        "memory": 128
    },
    "exec": {
        "kind": "nodejs:16",
        "code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n  return {payload:  \"abc\"};\n}",
        "binary": false,
        "main": "main"
    }
}

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

Basicアクション

Basicアクションのレスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
content.name String - アクションの名前
content.path String - アクションのパス
content.description String - アクションの説明
content.parameters Object - アクションの基本パラメータ
content.resourceId String - アクションのリソース ID
content.web Boolean - ウェブアクションの設定
content.raw-http Boolean - 未加工 HTTPの使用有無
  • ウェブアクションのみサポート
  • content.custom-options Boolean - ヘッダーオプションの設定
  • ウェブアクションのみサポート
  • content.exec.binary Boolean - アクションコードのファイルはバイナリかどうか
    content.exec.code String - アクションのソースコードまたは Base64-encodedコードファイルのバイナリ
    content.exec.kind String - 使用言語
    content.exec.main String - 実行関数
    content.limits.memory Integer - アクションコンテナに割り当てられるメモリの容量
    content.limits.timeout Integer - アクションが実行される最大時間
    content.vpc Object - 接続された VPC情報
    • platformvpcの場合にのみ表示
    content.vpc.vpcNo Integer - 接続された VPC番号
    content.vpc.subnetNo Integer - 接続された Subnet番号

    Sequenceアクション

    Sequenceアクションのレスポンスボディの説明は次の通りです。

    フィールド タイプ 説明
    content.name String アクションの名前
    content.path String アクションのパス
    content.description String アクションの説明
    content.resourceId String アクションのリソース ID
    content.web Boolean ウェブアクションの設定
    content.exec.kind String アクションの種類
    • sequence(固定値)
    content.exec.components String[] 関連付けられたアクションリスト

    レスポンスステータスコード

    NAVERクラウドプラットフォームで共通して使用されるレスポンスステータスコードの詳細は、Ncloud APIのレスポンスステータスコードをご参照ください。

    レスポンス例

    レスポンスのサンプルコードは次の通りです。

    {
        "content": {
            "custom-options": false,
            "description": "Create Action",
            "exec": {
                "binary": false,
                "code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n  return {payload:  \"abc\"};\n}",
                "kind": "nodejs:16",
                "main": "main"
            },
            "limits": {
                "memory": 128,
                "timeout": 60000
            },
            "name": "action001",
            "parameters": {
                "name": "action000"
            },
            "path": "otojYBN*****/package003",
            "raw-http": false,
            "resourceId": "Hb***",
            "web": false
        }
    }