日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

編譯部署代碼包

本文介紹如何在.NET運行環境編譯程序,并打包為ZIP包。編譯打包完成后,您可以在函數計算控制臺或使用Serverless Devs工具上傳代碼包。

C#運行時依賴庫

函數計算為C#運行時提供以下依賴庫。

您可以通過Nuget程序包獲得以上依賴庫,將其添加到您的<YourProjectName>.csproj文件中。如下所示。

  <ItemGroup>
        <PackageReference Include="Aliyun.Serverless.Core" Version="1.0.1" />
        <PackageReference Include="Aliyun.Serverless.Core.Http" Version="1.0.3" />
  </ItemGroup>

使用.NET Core CLI工具編譯并部署程序

.NET Core部署程序包,需要包含您的函數的已編譯程序集以及其所有程序集的依賴項。您可以直接使用.NET Core CLI工具編譯程序。使用 .NET Core CLI工具,您可以通過跨平臺方式創建基于.NET的函數計算應用程序。具體操作,請參見.NET

前提條件

創建服務

步驟一:創建.NET項目

  1. 執行以下命令創建.NET項目。

    dotnet new console -o HelloFcApp -f netcoreapp3.1

    參數解析如下。

    • new console:推薦使用控制臺應用程序模板。

    • -o|--output:項目的輸出位置。本文示例中,會創建一個HelloFcApp目錄,并將項目內容放置到該目錄下。

    • -f|--framework:指定使用的.NET版本。如果運行時版本為.NET Core 3.1,該參數使用netcoreapp3.1

    創建完成后,項目目錄結構如下所示。

    HelloFcApp
    ├── HelloFcApp.csproj
    ├── Program.cs
    └── obj
  2. 在項目目錄下,根據實際情況修改文件的參數配置。

    • HelloFcApp.csproj文件

      .NET工程的配置文件,記錄了項目的目標框架、程序集的依賴庫等信息。您需要在該文件中添加函數計算提供的依賴庫,示例如下。

      <Project Sdk="Microsoft.NET.Sdk">
      
        <PropertyGroup>
          <OutputType>Exe</OutputType>
          <TargetFramework>netcoreapp3.1</TargetFramework>
        </PropertyGroup>
      
        <ItemGroup>
              <PackageReference Include="Aliyun.Serverless.Core" Version="1.0.1" />
              <PackageReference Include="Aliyun.Serverless.Core.Http" Version="1.0.3" />
        </ItemGroup>
      
      </Project>
    • Program.cs文件

      您的請求處理程序代碼,具體設置可參考事件請求處理程序(Event Handler)HTTP請求處理程序(HTTP Handler)。本文以使用Stream類型的事件請求處理程序為例。

      using System.IO;
      using System.Threading.Tasks;
      using Aliyun.Serverless.Core;
      using Microsoft.Extensions.Logging;
      
      namespace Example
      {
          public class Hello
          {
              public async Task<Stream> StreamHandler(Stream input, IFcContext context)
              {
                  IFcLogger logger = context.Logger;
                  logger.LogInformation("Handle request: {0}", context.RequestId);
                  MemoryStream copy = new MemoryStream();
                  await input.CopyToAsync(copy);
                  copy.Seek(0, SeekOrigin.Begin);
                  return copy;
              }
      
              static void Main(string[] args){}
          }
      }

步驟二:編譯.NET項目

  1. 執行以下命令,進入項目目錄并編譯項目,然后將結果輸出到target目錄下。

    cd HelloFcApp && dotnet publish -c Release -o ./target
  2. 執行以下命令,進入target目錄并進行打包。

    cd target && zip -r HelloFcApp.zip *

    打包完成后,ZIP包的結構如下所示。

    HelloFcApp.zip
    ├── Aliyun.Serverless.Core.dll
    ├── HelloFcApp.deps.json
    ├── HelloFcApp.dll
    ├── HelloFcApp.pdb
    ├── HelloFcApp.runtimeconfig.json
    └── Microsoft.Extensions.Logging.Abstractions.dll
    重要

    請確保已將HelloFcApp.dll等文件打包至ZIP文件的根目錄。

步驟三:部署項目代碼并驗證

  1. 登錄函數計算控制臺,在左側導航欄,單擊服務及函數
  2. 在頂部菜單欄,選擇地域,然后在服務列表頁面,單擊目標服務。
  3. 函數管理頁面,單擊創建函數
  4. 創建函數頁面,選擇使用內置運行時創建,設置函數相關配置項,然后單擊創建

    主要配置項說明如下,其余配置項選擇默認值即可。

    • 請求程序處理類型:選擇處理事件請求

    • 運行環境:選擇.NET Core 3.1

    • 代碼上傳方式:選擇通過 ZIP 包上傳代碼,然后上傳C#運行時依賴庫打包的ZIP文件。

    • 請求處理程序:設置為HelloFcApp::Example.Hello::StreamHandler。關于請求處理程序的格式說明,請參見請求處理程序(Handler)

    創建完成后,跳轉至函數詳情頁面的函數代碼頁簽。

  5. 在函數詳情頁面的函數代碼頁簽,單擊測試函數

    成功執行后返回以下結果。

    {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    }

    您還可以單擊日志輸出頁簽查看詳細日志。