ファンクション コンピューティング カスタム ランタイムに基づいて springboot プロジェクトをすばやくデプロイする ファンクション コンピューティングとは

関数型コンピューティングとは

Function Compute は、イベント駆動型のフルマネージド コンピューティング サービスです。Function Compute を使用すると、サーバーなどのインフラストラクチャを調達して管理する必要はなく、コードを記述してアップロードするだけです。Function Compute は、コンピューティング リソースを準備し、タスクを柔軟かつ確実に実行し、ログ クエリ、パフォーマンス監視、アラームなどの機能を提供します. Function Compute を使用すると、あらゆる種類のアプリケーションとサービスをすばやく構築でき、実際の消費量のみが必要ですリソースに対するタスクの支払い。

開発手順

1. オープン関数計算

アクティブ化する前に、Alibaba Cloud アカウントを登録し、実名認証を完了している必要があります。その後、Function Compute の公式 Web サイト Function Compute https://fcnext.console.aliyun.comにアクセスしてください。Function Compute をアクティブ化していない場合は、 Function Compute の有効化ページで Function Compute を確認します. サービス契約の後、[今すぐ有効化] をクリックします. 有効化が完了すると、自動的に Function Compute コンソールにジャンプします.

2. 新サービス

Function Compute コンソールで [サービスと機能] をクリックしてサービス リストに入り、サービス リストで [サービスの作成] をクリックして、サービスの構成を入力し、[OK] をクリックしてサービスを作成します。コードのデバッグ、障害分析、データ分析、および関数内での時間の消費の表示をより便利にすることができます (有効にすることをお勧めしますが、いくつかの料金が適用される場合があります)。

3. 新機能

サービス一覧の下にある作成したサービス名をクリックして機能管理ページに入り、[機能の作成] をクリックし、機能作成ページで [カスタム ランタイムを使用して作成] を選択し、機能の関連構成を入力し、Java 17 サンプル テンプレート機能を選択します。ランタイム環境の構成完了後、ページを一番下までプルダウンし、[作成] をクリックして springboot プロジェクトをデプロイします。

4. カスタム ドメイン名の構成

関数が作成された後、リクエスト アドレスをブラウザで直接開くと、レスポンスが添付ファイルとしてダウンロードされます。これは、Http トリガーが自動的に Content-Disposition: 添付ファイル フィールドを応答ヘッダーに追加するためです. カスタム ドメイン名を使用して、この問題を回避できます. ドメイン名管理ページに入り、[カスタム ドメイン名の追加] をクリックします. サービスを選択し、 Function, after the configuration is complete, you can enter the configured domain name in the browser, and you can see the Hello World! content displayed on the page. この時点で、単純な springboot プロジェクトがデプロイされ、構成されます。

5.開発

  • 輸出コード

プロジェクトの開発を続けます. 関数計算コンソールで関数の詳細ページに入り、オンライン IED を使用して関数コードページを開発およびデバッグできます. また、「関数のエクスポート」で関数のコードをエクスポートし、独自のものを使用することもできます.コード エディター。開発する。

  • コード構造

  • pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.6</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

  • デモアプリケーション

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

	@GetMapping("/")
	public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
		return String.format("Hello %s!", name);
	}

}

  • リスニング ポートの構成

リスニング ポートを application.properties 構成ファイルに追加します。ここでの構成ポートは、関数によって構成されたリスニング ポートと一致している必要があります。

要約する

このエクスペリエンスでは、関数コンピューティングを使用して springboot プロジェクトを展開します. 一般的に言えば、プロセスは非常にスムーズです. コンソールで数回クリックするだけでプロジェクトを生成して展開できます. 初心者には非常にフレンドリーで、従来の展開プロジェクトを大幅に節約できます. . 環境の構築、インストールの依存関係など、本当にビジネス ロジックの開発だけを気にすることができます。

より多くのコンテンツについては、サーバーレス技術の最も包括的なコンテンツを集め、定期的にサーバーレス イベント、ライブ ブロードキャスト、およびユーザーのベスト プラクティスを開催しているサーバーレス WeChat 公式アカウント (ID: serverlessdevs) に注目してください。

{{o.name}}
{{m.name}}

おすすめ

転載: my.oschina.net/u/4611872/blog/5560857