通过函数计算的Custom Runtime,您可以使用PowerShell 7.1在函数计算平台编写函数。本文介绍快速部署和调用PowerShell函数的详细步骤。您可以修改Powershell示例中的代码实现二次开发,满足您的需求。

前提条件

您已完成以下操作:

操作步骤

  1. 在目标目录中,执行以下命令,初始化项目。
    s init start-fc-custom-samples -d start-fc-custom-samples
  2. 执行以下命令,进入项目目录。
    cd start-fc-custom-samples/powershell/event-demo/
  3. 执行以下命令,部署项目。
    s deploy -y
    输出示例:
    [2021-09-08T15:58:14.658] [INFO ] [S-CLI] - Start ...
    [2021-09-08T15:58:15.771] [INFO ] [FC-DEPLOY] - Using region: cn-hangzhou
    [2021-09-08T15:58:15.772] [INFO ] [FC-DEPLOY] - Using access alias: default
    [2021-09-08T15:58:15.772] [INFO ] [FC-DEPLOY] - Using accessKeyID: 188077086902****
    [2021-09-08T15:58:15.772] [INFO ] [FC-DEPLOY] - Using accessKeySecret: LTAI4G4cwJkK4Rza6xd9****
      Using fc deploy type: sdk, If you want to deploy with pulumi, you can [s cli fc-default set deploy-type pulumi] to switch.
    [2021-09-08T15:58:16.444] [INFO ] [FC-DEPLOY] - Checking Service custom-demo exists
    [2021-09-08T15:58:16.738] [INFO ] [FC-DEPLOY] - Checking Function powershellEventFunc exists
      Make service custom-demo success.
      Make function custom-demo/powershellEventFunc success.
    [2021-09-08T15:58:17.827] [INFO ] [FC-DEPLOY] - Checking Service custom-demo exists
    [2021-09-08T15:58:17.920] [INFO ] [FC-DEPLOY] - Checking Function powershellEventFunc exists
    
    Tips for next step
    ======================
    * Display information of the deployed resource: s info
    * Display metrics: s metrics
    * Display logs: s logs
    * Invoke remote function: s invoke
    * Remove Service: s remove service
    * Remove Function: s remove function
    * Remove Trigger: s remove trigger
    * Remove CustomDomain: s remove domain
    
    fc-powershell-demo-fc-powershell:
      region: cn-hangzhou
      service:
        name: custom-demo
      function:
        name: powershellEventFunc
        runtime: custom
        handler: index.handler
        memorySize: 512
        timeout: 3
  4. 执行以下命令,远程调用函数。
    s invoke -e "hello"
    输出示例:
    [2021-09-09T16:41:37.765] [INFO ] [S-CLI] - Start ...
    ========= FC invoke Logs begin =========
    FC Invoke Start RequestId: 8ce302bc-6eba-4607-abea-63b2e801e556
    hello
    FC Invoke End RequestId: 8ce302bc-6eba-4607-abea-63b2e801e556
    
    Duration: 36.61 ms, Billed Duration: 37 ms, Memory Size: 512 MB, Max Memory Used: 110.18 MB
    ========= FC invoke Logs end =========
    
    FC Invoke Result:
    hello
    
    
    End of method: invoke