.Net ( core )アクションを利用する

Cloud Functionsでは、.Net コードを実行させられるアクションコンテナーを提供します。.Net 2.2バージョンを基本提供し、独立した環境でコードを実行することができます。

.Net Coreプロジェクトをコンパイル、テスト及び圧縮するためには、.Net Core SDKをローカルにインストールし、環境変数のDOTNET_HOMEdotnetの実行ファイルのある位置に設定する必要があります。

アクションを作成する

.Net Core Actionは、次のような.Net CoreのライブラリーとMain関数の構造で構成されています。

public Newtonsoft.Json.Linq.JObject Main(Newtonsoft.Json.Linq.JObject);

例えば、次ようなC#プロジェクトを作ってみます。NCP.CloudFunctions.Example.Dotnet

dotnet new classlib -n NCP.CloudFunctions.Example.Dotnet -lang "C#"
cd NCP.CloudFunctions.Example.Dotnet

そして、JSONを利用するために、Newtonsoft.Json NuGetパッケージを、以下のようにインストールします。

dotnet add package Newtonsoft.Json -v 12.0.1

では、Hello.csを以下のように作り、簡単なコードを作成してみます。

using System;
using Newtonsoft.Json.Linq;

namespace NCP.CloudFunctions.Example.Dotnet
{
    public class Hello
    {
        public JObject Main(JObject args)
        {
            string name = "stranger";
            if (args.ContainsKey("name")) {
                name = args["name"].ToString();
            }
            JObject message = new JObject();
            message.Add("greeting", new JValue($"Hello, {name}!"));
            return (message);
        }
    }
}

プロジェクトの内容を発行するためには、以下のコマンドを実行することができます。

dotnet publish -c Release -o out

発行されたファイルをzipにするためには、以下のようなコマンドを入力します。

cd out
zip -r -0 helloDotNet.zip *

.Netを利用してActionを作る際、Main関数部分は特に異なるように作成する必要があります。Main関数は、{Assembly}::{Class Full Name}::{Method}の形式でなればなりません。上記の例で作業すると、以下のように入力する必要があります。

NCP.CloudFunctions.Example.Dotnet::NCP.CloudFunctions.Example.Dotnet.Hello::Main

img

基本パラメータを設定する

毎回アクションを実行する度にパラメータを転送する代わりに、特定のパラメータに基本値を指定することができます。上記で作成したhelloアクションのplaceパラメータに基本値を登録してみます。

img

アクション実行時にパラメータを転送する

アクションの実行の際、入力でパラメータを転送することができます。Main関数に転送されるパラメータは、JSON object形式で転送されます。

パラメータは、アクションの実行の際に直接入力するか、JSON形式のファイルを作成して転送することができます。ファイルを通じてパラメータを転送する場合には、以下のようなJSON形式のファイルを作成する必要があります。

img

アクションのランタイム情報

各アクションコンテナーには、基本ライブラリーが内蔵されており、このライブラリーは別途の追加作業なしにインポートして利用することができます。

関連情報へ

下のガイドから関連情報をご確認いただけます。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...