Put Action
    • PDF

    Put Action

    • PDF

    記事の要約

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

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

    リクエスト

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

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

    リクエストヘッダ

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

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

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

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

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

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

    フィールドタイプ必須の有無説明
    platformStringOptionalプラットフォーム区分
    • vpc(デフォルト) | classic
    typeStringOptionalアクションタイプ
    • basic(デフォルト) | web | sequence | sequence-web
      • basic: 一般のアクション
      • web: ウェブアクション
      • sequence: シーケンスアクション
      • sequence-web: シーケンスウェブアクション
    • 他のタイプに変更不可

    リクエストボディ

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

    Basic/Webアクション

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

    フィールドタイプ必須の有無説明
    descriptionStringOptionalアクションの説明(Byte)
    • 0~3,000
    parametersObjectOptionalアクションのデフォルトパラメータ
    • {"key" : "value"}形式の JSON
    • アクション実行時、パラメータ適用の優先順位
      • 1番目: 実行時に渡されるランタイムパラメータ
      • 2番目: 関連付けられているトリガーのデフォルトパラメータ
      • 3番目: アクションのデフォルトパラメータ
      • 4番目: 含まれているパッケージのデフォルトパラメータ
    limits.timeoutIntegerRequiredアクションの最大実行時間(ミリ秒)
    • 500~300,000
    • タイムアウト超過時はアクションを強制終了
    limits.memoryIntegerRequiredアクションの最大メモリ容量(MB)
    • 128 | 256 | 512 | 1024
    exec.kindStringRequiredアクションランタイム
    exec.imageUriStringConditionalユーザー画像のパス
    • Custom Imageランタイムのみ対象
    • {registryName}/{imageName}:{tag}形式
    • tagが入力されなかった場合、デフォルトはlatest
    exec.binaryBooleanRequiredアクションコードファイルはバイナリかどうか
    • true | false
      • true: exec.codeにアクションコードファイルの Base64エンコードされた値を入力
      • false: exec.codeにアクションコードを入力
    exec.codeStringRequiredアクションのソースコード
    • ソースコード: コード内容をそのまま入力
    • ファイル添付: アクションコードファイルのバイナリデータを Base64エンコードして入力
    • コードを直接入力する場合、エスケープ(escape)処理が必要
    • Javaまたは.netランタイムはファイルバイナリのみ許可
    • Javaは圧縮された*.jarファイル形式のみ登録可能
    • .net(dotnet)の場合、*.zipファイル(圧縮ファイル)形式のみアップロード可能
    exec.mainStringRequired実行関数
    vpcObject[]Required接続する VPC情報
    • VPCプラットフォームのみ対象
    vpc[].vpcNoIntegerRequired接続する VPC ID
    vpc[].subnetNoIntegerRequired接続する Subnet ID
    raw-httpBooleanOptional未加工 HTTPの使用有無
    • ウェブアクションタイプのみサポート
    custom-optionsBooleanOptionalHTTPヘッダーオプションの設定
    • ウェブアクションタイプのみサポート

    Sequence/Sequence-webアクション

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

    フィールドタイプ必須の有無説明
    descriptionStringOptionalアクションの説明(Byte)
    • 0~3,000
    exec.kindStringRequiredアクションの種類
    • sequence(固定値)
    exec.componentsString[]Requiredシーケンスアクションに関連付けるアクションリスト
    • {packageName}/{actionName}形式
    • リスト順に実行
    • パッケージに属しないアクションを関連付ける場合、packageNameに記号の「-」を入力

    リクエスト例

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

    curl -X PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/packages/{packageName}/actions/{actionName}' \
    --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}'
    -d '<下記参照>'
    
    {
        "description" : "My action",
        "parameters": {
            "name": "Cloud Functions",
            "place": "NCloud"
        },
        "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"
        },
        "vpc": [
            {
                "vpcNo" : ******,
                "subnetNo" : *****
            }
        ]
    }
    

    レスポンス

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

    レスポンスボディ

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

    共通フィールド

    フィールドタイプ説明
    content.nameStringアクションの名前
    content.resourceIdStringアクションのリソース ID
    content.pathStringアクションのパス
    content.descriptionString-
    content.typeString-

    Basic/Webアクション

    フィールドタイプ説明
    content.parametersObjectアクションの基本パラメータ
    content.raw-httpBoolean未加工 HTTPの使用有無
    • ウェブアクションタイプのみサポート
    content.custom-optionsBooleanヘッダオプションの設定
    • ウェブアクションタイプのみサポート
    content.exec.binaryBooleanアクションコードのファイルはバイナリかどうか
    content.exec.codeStringアクションのソースコードまたは Base64-encodedコードファイルのバイナリ
    content.exec.imageUriStringユーザー画像パス
    • ランタイムが Custom Imageの場合にのみ表示される
    content.exec.kindStringアクションのランタイム
    content.exec.mainString実行関数
    content.limits.memoryIntegerアクションコンテナに割り当てられるメモリの容量
    content.limits.timeoutIntegerアクションが実行される最大時間
    content.vpcObject[]-
    content.vpc[].vpcNoInteger-
    content.vpc[].subnetNoInteger-

    Sequence/Web-sequenceアクション

    フィールドタイプ説明
    content.exec.kindStringアクションの種類
    • sequence(固定値)
    content.exec.componentsString[]関連付けられたアクションリスト

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

    レスポンスステータスコードの説明は次の通りです。

    HTTPステータスコードコードメッセージ説明
    40080300ACTION_INVALID_NAME無効なアクション名
    40080102PACKAGE_PLATFORM_MISMATCHアクション上位パッケージのプラットフォームは変更不可
    40080302ACTION_PLATFORM_MISMATCHアクションのプラットフォームは変更不可
    40080303ACTION_INVALID_TYPE無効なアクションタイプ
    40080304ACTION_TYPE_MISMATCHアクションのタイプは変更不可
    40080305ACTION_BODY_INVALID_TYPE無効なリクエストボディフィールドタイプ
    40080306ACTION_BODY_MISSING_FIELD必須リクエストボディフィールド漏れ
    40080307ACTION_BODY_INVALID_VALUE無効なリクエストボディフィールドの値
    40380002SUB_ACC_NO_PERMISSION詳細権限エラー
    40980011RESOURCE_NAME_CONFLICT重複したリソース名
    42280308ACTION_COUNT_EXCEED最大アクション数を超過
    50081311ACTION_NAT_EXCEPTIONサブネットの照会に失敗
    50081312NAT_CREATE_FAILサブネット接続失敗
    50081313NAT_BEING_CREATEDサブネット接続中
    50081314NAT_RETURN_FAILサブネット接続解除中

    レスポンス例

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

    {
        "content": {
            "description": "My 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": "myaction",
            "parameters": {
                "name": "Cloud Functions",
                "place": "NCloud"
            },
            "path": "***QK06kFG8C/mypackage",
            "resourceId": "*****",
            "type": "basic",
            "vpc": [
                {
                    "subnetNo": ******,
                    "vpcNo": *****
                }
            ]
        }
    }
    

    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.