全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::EDAS::Application

更新时间:Jul 06, 2025

ALIYUN::EDAS::Application digunakan untuk membuat aplikasi dalam kluster Elastic Compute Service (ECS) di Enterprise Distributed Application Service (EDAS).

Sintaksis

{
  "Type": "ALIYUN::EDAS::Application",
  "Properties": {
    "ApplicationName": String,
    "HealthCheckURL": String,
    "Description": String,
    "ClusterId": String,
    "PackageType": String,
    "BuildPackId": Integer,
    "EcuInfo": String,
    "ComponentIds": String,
    "LogicalRegionId": String,
    "ResourceGroupId": String,
    "Deployment": Map
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ApplicationName

String

Ya

Ya

Nama aplikasi.

Nama harus memiliki panjang 1 hingga 36 karakter, dan dapat berisi angka, huruf, tanda hubung (-), serta garis bawah (_). Nama harus dimulai dengan huruf.

HealthCheckURL

String

Tidak

Tidak

URL pemeriksaan kesehatan.

Tidak ada.

Description

String

Tidak

Ya

Deskripsi aplikasi.

Tidak ada.

ClusterId

String

Ya

Tidak

ID kluster ECS tempat Anda ingin membuat aplikasi. Jika Anda membiarkan properti ini kosong, aplikasi dibuat di kluster ECS default.

Tidak ada.

PackageType

String

Tidak

Tidak

Tipe paket penyebaran aplikasi.

Nilai yang valid:

  • war

  • jar

ResourceGroupId

String

Tidak

Ya

ID grup sumber daya.

Tidak ada.

BuildPackId

Integer

Tidak

Tidak

Nomor paket pembuatan EDAS Container.

Untuk mendapatkan nomor paket pembuatan EDAS Container, Anda dapat memanggil operasi ListBuildPack atau melihat kolom "Build package number" dari topik Catatan Rilis EDAS Container.

Properti ini harus ditentukan saat Anda membuat aplikasi High-Speed Service Framework (HSF).

EcuInfo

String

Tidak

Tidak

ID Elastic Compute Units (ECUs) yang ingin Anda skalakan. ID ECU menunjukkan pengenal unik instance ECS yang diimpor ke EDAS.

Pisahkan beberapa ID ECU dengan koma (,).

Anda dapat memanggil operasi ListScaleOutEcu untuk menanyakan ID ECU.

ComponentIds

String

Tidak

Tidak

ID komponen aplikasi.

Catatan

Jika Anda menggunakan EDAS SDK for Java atau EDAS SDK for Python, pastikan versi SDK adalah V2.57.3 atau lebih baru saat Anda menentukan properti ini. Jika Anda tidak menggunakan EDAS SDK, Anda dapat langsung menentukan properti ini. Sebagai contoh, Anda dapat langsung menentukan properti ini jika Anda menggunakan jenis SDK lainnya, seperti aliyun-python-sdk-core, aliyun-java-sdk-core, dan aliyun cli.

Properti ini harus ditentukan saat Anda membuat aplikasi Dubbo di runtime Apache Tomcat menggunakan paket WAR atau membuat aplikasi Spring Boot atau Spring Cloud di runtime Java standar menggunakan paket JAR. Nilai yang valid:

  • 4: Apache Tomcat 7.0.91

  • 7: Apache Tomcat 8.5.42

  • 5: OpenJDK 1.8.x

  • 6: OpenJDK 1.7.x

LogicalRegionId

String

Tidak

Tidak

ID namespace mikroservis tempat aplikasi tersebut milik. Contoh: cn-beijing:prod.

  • Properti ini harus ditentukan saat kluster yang Anda tentukan tidak termasuk dalam namespace mikroservis default. Jika tidak, pesan kesalahan application regionId is different with cluster regionId! akan dikembalikan.

  • Anda dapat membiarkan properti ini kosong saat kluster yang Anda tentukan termasuk dalam namespace mikroservis default.

Nilai properti ini harus sama dengan ID namespace mikroservis tempat kluster tersebut milik. Untuk mendapatkan ID namespace mikroservis, lakukan operasi berikut: Masuk ke konsol EDAS. Pilih Resource Management > Microservice Namespaces. Di halaman yang muncul, peroleh ID namespace.

Deployment

Map

Tidak

Tidak

Informasi penyebaran tentang aplikasi.

Untuk informasi lebih lanjut, lihat Properti Penyebaran.

Sintaksis Penyebaran

"Deployment": {
  "ReleaseType": Integer,
  "Batch": Integer,
  "TrafficControlStrategy": String,
  "BatchWaitTime": Integer,
  "PackageVersion": String,
  "Desc": String,
  "Gray": Boolean,
  "WarUrl": String,
  "GroupId": String,
  "AppEnv": String
}

Properti Penyebaran

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ReleaseType

Integer

Tidak

Tidak

Mode di mana fase penyebaran aplikasi dipicu.

Nilai yang valid:

  • 0: Sistem secara otomatis memicu fase berikutnya.

  • 1: Anda secara manual memicu fase berikutnya. Untuk memicu fase berikutnya, Anda dapat mengklik Lanjutkan ke Batch Berikutnya di konsol EDAS atau memanggil operasi ContinuePipeline. Saat Anda memanggil operasi API untuk menyebarkan aplikasi, kami merekomendasikan agar Anda memilih mode otomatis. Untuk informasi lebih lanjut, lihat ContinuePipeline.

Batch

Integer

Tidak

Tidak

Jumlah fase per grup instans.

  • Jika Anda menentukan ID grup instans untuk GroupId, aplikasi disebarkan ke grup instans yang ditentukan. Jumlah fase minimum yang dapat Anda tentukan adalah 1. Jumlah fase maksimum adalah jumlah maksimum instans ECS normal dalam grup instans. Nilai aktual berada dalam rentang [1, jumlah yang ditentukan]. Jumlah yang ditentukan sama dengan jumlah instans ECS normal dalam grup instans yang ditentukan.

  • Jika Anda menyetel GroupId ke semua, aplikasi disebarkan ke semua grup instans. Jumlah fase minimum yang dapat Anda tentukan adalah 1. Jumlah fase maksimum adalah jumlah instans ECS dalam grup instans yang berisi jumlah terbesar instans ECS normal.

TrafficControlStrategy

String

Tidak

Tidak

Isi kebijakan rilis canary.

Tidak ada.

BatchWaitTime

Integer

Tidak

Tidak

Waktu tunggu antara fase.

Satuan: menit.

  • Nilai default: 0. Nilai 0 menentukan bahwa tidak ada waktu tunggu antara fase.

  • Nilai maksimum: 5.

Jika terdapat sejumlah besar fase, kami merekomendasikan agar Anda menentukan nilai kecil untuk properti ini. Jika tidak, sistem memerlukan waktu lama untuk menyebarkan aplikasi.

PackageVersion

String

Ya

Tidak

Versi paket penyebaran aplikasi.

Nilainya dapat mencapai panjang 64 karakter. Kami merekomendasikan agar Anda menggunakan timestamp.

Desc

String

Tidak

Tidak

Deskripsi penyebaran aplikasi.

Tidak ada.

Gray

Boolean

Tidak

Tidak

Menentukan apakah akan mengimplementasikan rilis canary untuk aplikasi.

Nilai yang valid:

  • true: mengimplementasikan rilis canary untuk aplikasi.

    • Jika Anda mengimplementasikan rilis canary, Anda harus menentukan GroupId. Dalam hal ini, GroupId menentukan ID grup instans untuk rilis canary.

    • Anda dapat mengimplementasikan rilis canary untuk aplikasi dalam satu fase.

    • Setelah rilis canary dalam fase ini selesai, aplikasi dirilis dalam mode reguler. Properti Batch menentukan jumlah fase.

  • false: mengimplementasikan rilis satu fase atau bertahap untuk aplikasi.

WarUrl

String

Ya

Tidak

URL paket penyebaran aplikasi. Paket tersebut dapat berupa paket WAR atau JAR.

Properti ini harus ditentukan saat DeployType disetel ke url. Kami merekomendasikan agar Anda menentukan URL paket penyebaran aplikasi yang disimpan di Object Storage Service (OSS).

GroupId

String

Tidak

Tidak

ID grup instans tempat Anda ingin menyebarkan aplikasi.

Tidak ada.

AppEnv

String

Tidak

Tidak

Variabel lingkungan aplikasi.

Tentukan nilai properti ini dalam format berikut: {"name":"x","value":"y"},{"name":"x2","value":"y2"}. key harus berupa name atau value.

Nilai Pengembalian

Fn::GetAtt

  • Port: Nomor port aplikasi. Nilai default: 8080.

  • AppId: ID aplikasi. ID aplikasi secara unik mengidentifikasi aplikasi EDAS.

Contoh

YAML Format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterId:
    Type: String
    Description: Cluster ID of ECS application
    Default: '****'
  RegionTag:
    Type: String
    Description: Allowed letters and numbers
    Default: mytest
  ApplicationName:
    Type: String
    Default: mytest
Resources:
  App:
    Type: ALIYUN::EDAS::Application
    Properties:
      ApplicationName:
        Ref: ApplicationName
      LogicalRegionId:
        Fn::Join:
          - ':'
          - - Ref: ALIYUN::Region
            - Ref: RegionTag
      ClusterId:
        Ref: ClusterId
      PackageType: jar
Outputs:
  ClusterName:
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterName
  IaasProvider:
    Value:
      Fn::GetAtt:
        - Cluster
        - IaasProvider
  ClusterId:
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterId
  ClusterType:
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterType
  Port:
    Value:
      Fn::GetAtt:
        - App
        - Port
  AppId:
    Value:
      Fn::GetAtt:
        - App
        - AppId
  GroupName:
    Value:
      Fn::GetAtt:
        - DeployGroup
        - GroupName
  Id:
    Value:
      Fn::GetAtt:
        - DeployGroup
        - Id
  DeployGroupAppId:
    Value:
      Fn::GetAtt:
        - DeployGroup
        - AppId
  BelongRegion:
    Value:
      Fn::GetAtt:
        - LogicalRegion
        - BelongRegion
  DebugEnable:
    Value:
      Fn::GetAtt:
        - LogicalRegion
        - DebugEnable
  UserId:
    Value:
      Fn::GetAtt:
        - LogicalRegion
        - UserId
  LogicalRegionId:
    Value:
      Fn::GetAtt:
        - LogicalRegion
        - Id
  RegionName:
    Value:
      Fn::GetAtt:
        - LogicalRegion
        - RegionName

JSON Format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterId": {
      "Type": "String",
      "Description": "ID Klaster aplikasi ECS",
      "Default": "****"
    },
    "RegionTag": {
      "Type": "String",
      "Description": "Huruf dan angka yang diizinkan",
      "Default": "mytest"
    },
    "ApplicationName": {
      "Type": "String",
      "Default": "mytest"
    }
  },
  "Resources": {
    "App": {
      "Type": "ALIYUN::EDAS::Application",
      "Properties": {
        "ApplicationName": {
          "Ref": "ApplicationName"
        },
        "LogicalRegionId": {
          "Fn::Join": [
            ":",
            [
              {
                "Ref": "ALIYUN::Region"
              },
              {
                "Ref": "RegionTag"
              }
            ]
          ]
        },
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "PackageType": "jar"
      }
    }
  },
  "Outputs": {
    "ClusterName": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterName"
        ]
      }
    },
    "IaasProvider": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "IaasProvider"
        ]
      }
    },
    "ClusterId": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterId"
        ]
      }
    },
    "ClusterType": {
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterType"
        ]
      }
    },
    "Port": {
      "Value": {
        "Fn::GetAtt": [
          "App",
          "Port"
        ]
      }
    },
    "AppId": {
      "Value": {
        "Fn::GetAtt": [
          "App",
          "AppId"
        ]
      }
    },
    "GroupName": {
      "Value": {
        "Fn::GetAtt": [
          "DeployGroup",
          "GroupName"
        ]
      }
    },
    "Id": {
      "Value": {
        "Fn::GetAtt": [
          "DeployGroup",
          "Id"
        ]
      }
    },
    "DeployGroupAppId": {
      "Value": {
        "Fn::GetAtt": [
          "DeployGroup",
          "AppId"
        ]
      }
    },
    "BelongRegion": {
      "Value": {
        "Fn::GetAtt": [
          "LogicalRegion",
          "BelongRegion"
        ]
      }
    },
    "DebugEnable": {
      "Value": {
        "Fn::GetAtt": [
          "LogicalRegion",
          "DebugEnable"
        ]
      }
    },
    "UserId": {
      "Value": {
        "Fn::GetAtt": [
          "LogicalRegion",
          "UserId"
        ]
      }
    },
    "LogicalRegionId": {
      "Value": {
        "Fn::GetAtt": [
          "LogicalRegion",
          "Id"
        ]
      }
    },
    "RegionName": {
      "Value": {
        "Fn::GetAtt": [
          "LogicalRegion",
          "RegionName"
        ]
      }
    }
  }
}