全部產品
Search
文件中心

CloudOps Orchestration Service:ACS-ECS-BulkyDownloadOSSFileAndRunCommand

更新時間:Sep 06, 2024

模板名稱

ACS-ECS-BulkyDownloadOSSFileAndRunCommand 批量下載OSS檔案到多個ECS執行個體並執行雲助手命令

立即執行

模板描述

批量下載OSS檔案到多個ECS執行個體並執行雲助手命令

模板類型

自動化

所有者

Alibaba Cloud

輸入參數

參數名稱

描述

類型

是否必填

預設值

約束

targets

目標執行個體

Json

bucketName

OSS Bucket名稱

String

objectName

OSS對象名稱

String

destinationDir

執行個體中檔案複製的目標目錄

String

regionId

地區ID

String

{{ ACS::RegionId }}

OSSRegion

OSS所在地區

String

{{ ACS::RegionId }}

URLExpirationTime

下載連結的到期時間

Number

6000

whetherSaveToFile

是否將內容下載到特定檔案

Boolean

True

commandContent

在ECS執行個體中執行的雲助手命令

String

echo hello

timeout

ECS執行個體中執行命令的逾時時間

Number

600

rateControl

速率控制

Json

{‘Mode’: ‘Concurrency’, ‘MaxErrors’: 0, ‘Concurrency’: 10}

OOSAssumeRole

OOS扮演的RAM角色

String

“”

輸出參數

執行此模板需要的權限原則

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:RunCommand"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oss:GetObject"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

詳情

ACS-ECS-BulkyDownloadOSSFileAndRunCommand詳情

模板內容

FormatVersion: OOS-2019-06-01
Description:
  en: Bulky downLoad OSS file to instances and run command
  zh-cn: 批量下載OSS檔案到多個ECS執行個體並執行雲助手命令
  name-en: ACS-ECS-BulkyDownloadOSSFileAndRunCommand
  name-zh-cn: 批量下載OSS檔案到多個ECS執行個體並執行雲助手命令
  categories:
    - instance_manage
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地區ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Label:
      en: TargetInstance
      zh-cn: 目標執行個體
    Type: Json
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  OSSRegion:
    Label:
      en: OSSRegion
      zh-cn: OSS所在地區
    Type: String
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  bucketName:
    Label:
      en: BucketName
      zh-cn: OSS Bucket名稱
    Type: String
  objectName:
    Label:
      en: ObjectName
      zh-cn: OSS對象名稱
    Type: String
  URLExpirationTime:
    Label:
      en: DownloadURLExpirationTime
      zh-cn: 下載連結的到期時間
    Type: Number
    Default: 6000
  destinationDir:
    Label:
      en: DestinationDir
      zh-cn: 執行個體中檔案複製的目標目錄
    Type: String
  whetherSaveToFile:
    Label:
      en: whetherSaveToFile
      zh-cn: 是否將內容下載到特定檔案
    Type: Boolean
    Default: true
  commandContent:
    Label:
      en: CommandContent
      zh-cn: 在ECS執行個體中執行的雲助手命令
    Type: String
    AssociationProperty: Code
    Default: echo hello
  timeout:
    Label:
      en: Timeout
      zh-cn: ECS執行個體中執行命令的逾時時間
    Type: Number
    Default: 600
  rateControl:
    Label:
      en: RateControl
      zh-cn: 速率控制
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Views the ECS instances
      zh-cn: 擷取ECS執行個體
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: downloadOSSFileAndRunCommand
    Action: ACS::ECS::DownloadOSSFileAndRunCommand
    Description:
      en: Download OSS file to the ECS instances and run command
      zh-cn: 下載OSS檔案到執行個體並執行命令
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      bucketName: '{{ bucketName }}'
      objectName: '{{ objectName }}'
      URLExpirationTime: '{{ URLExpirationTime }}'
      OSSRegion: '{{ OSSRegion }}'
      destinationDir: '{{ destinationDir }}'
      whetherSaveToFile: '{{ whetherSaveToFile }}'
      commandContent: '{{ commandContent }}'
      timeout: '{{ timeout }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: 選擇執行個體
            en: Select Instances
      - Parameters:
          - OSSRegion
          - bucketName
          - objectName
          - URLExpirationTime
          - whetherSaveToFile
          - destinationDir
        Label:
          default:
            zh-cn: 配置下載檔案參數
            en: Configure Download File Parameters
      - Parameters:
          - commandContent
          - timeout
        Label:
          default:
            zh-cn: 配置執行命令參數
            en: Configure Run Command Parameters
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: 進階選項
            en: Control Options