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

使用自定義模板編排FC并運行腳本

本文介紹如何用OOS自定義模板編排函數計算, 通過執行Python腳本來下載文件并將其存儲到OSS

功能背景

阿里云函數計算(Function Compute,FC)是一項核心服務。它是基于事件驅動的平臺,允許用戶在沒有服務器的情況下運行代碼。利用FC的高效編程能力,開發者只需部署代碼,FC就能夠響應事件觸發立即執行。此外,FC與阿里云的對象存儲服務(Object Storage Service,OSS)緊密集成,使得數據的存儲和批量處理變得更簡單,開發者無需管理服務器或存儲,即可輕松處理數據,并且可以將處理結果安全地存儲在OSS中。同時,OOS能夠自動執行多種復雜的運維任務,讓開發者通過自定義模板來集成和調用阿里云提供的各類資源和服務。在本文中,我們將介紹如何用OOS編排函數計算,通過執行Python腳本來下載文件并將其存儲到OSS。

使用說明

  1. 使用此功能必須開通函數計算服務

  2. 創建執行前需要為FC創建RAM角色并授予訪問OSS的權限。

操作步驟

  1. 登錄 OOS 控制臺并使用以下示例模板創建自定義模板。您可以參考FC提供的Python開發指南自定義腳本和模板。

    FormatVersion: OOS-2019-06-01
    Description:
      en: FC runs script, To use this template, you must first <a href='http://bestwisewords.com/zh/functioncompute/getting-started/quickly-create-a-function#p-t79-y7o-68z' target="_blank">activate the function computing service< /a>
      zh-cn: FC運行腳本,使用此功能必須<a href='http://bestwisewords.com/zh/functioncompute/getting-started/quickly-create-a-function#p-t79-y7o-68z' target="_blank">開通函數計算服務</a>
      name-en: FC-RunScript
      name-zh-cn: FC運行腳本
    Parameters:
      FileUrl:
        Label:
          en: FileUrl
          zh-cn: 文件存儲URL
        Type: String
      OSSRegionId:
        Label:
          en: OSSRegionId
          zh-cn: OSS bucket所在地域ID
        Type: String
        AssociationProperty: RegionId
      OSSBucketName:
        Label:
          en: OSSBucketName
          zh-cn: OSS Bucket 名稱
        Type: String
        AssociationProperty: ALIYUN::OSS::Bucket::BucketName
        AssociationPropertyMetadata:
          RegionId: ${OSSRegionId}
        Default: ''
      OSSDirectory:
        Type: String
        Label:
          en: OSSDirectory
          zh-cn: OSS目錄
        Description:
          en: The directory where files are stored in the OSS Bucket. / is used to split the path and quickly create subdirectories. However, do not start with / and do not appear consecutive / s.
          zh-cn: 文件存儲在 OSS Bucket 中的目錄,/ 用于分割路徑,可快速創建子目錄,但不要以 / 開頭,不要出現連續的 / 。
        Default: Download/Demo/
      FCAssumeRole:
        Label:
          en: FCAssumeRole
          zh-cn: FC扮演的RAM角色
        Description:
          en: The Function Compute platform will use this RAM role to generate a temporary key for accessing your Alibaba Cloud resources and pass it to your code. For details, please see <a href="http://bestwisewords.com/zh/functioncompute/user-guide/grant-function-compute-permissions-to-access-other-alibaba-cloud-services" target="_blank ">Grant Function Compute permissions to access other cloud services</a>
          zh-cn: 函數計算平臺會使用這個 RAM 角色(Role)來生成訪問您的阿里云資源的臨時密鑰,并傳遞給您的代碼。詳情請查看<a href="http://bestwisewords.com/zh/functioncompute/user-guide/grant-function-compute-permissions-to-access-other-alibaba-cloud-services" target="_blank">授予函數計算訪問其他云服務的權限</a>
        Type: String
        AssociationProperty: ALIYUN::RAM::Service::Role
        AssociationPropertyMetadata:
          Service: fc.aliyuncs.com
        Default: ''
      OOSAssumeRole:
        Label:
          en: OOSAssumeRole
          zh-cn: OOS扮演的RAM角色
        Type: String
        Default: ''
    RamRole: '{{ OOSAssumeRole }}'
    Tasks:
      - Name: ExecuteScript
        Action: ACS::FC::ExecuteScript
        Description:
          en: Run the python script
          zh-cn: 運行Python腳本
        Properties:
          runtime: 'python3.10'
          role: '{{ FCAssumeRole }}'
          script: |-
            import oss2
            import requests
            
            def handler(event, context):
              # 獲取FC角色credential
              auth = oss2.StsAuth(context.credentials.access_key_id, context.credentials.access_key_secret, context.credentials.security_token)
              endpoint = 'https://oss-{{OSSRegionId}}.aliyuncs.com'
              bucket = oss2.Bucket(auth, endpoint, '{{OSSBucketName}}')
              file_url = '{{FileUrl}}'
              # 下載文件
              file_content = requests.get(file_url)
              file_name = file_url.split('/')[-1]
              # 將文件上傳到指定OSS
              bucket.put_object(f'{{OSSDirectory}}{file_name}', content)

    示例腳本說明:

    1. 運行環境默認 python3.10

    2. 函數名稱默認 index.handler

    3. 使用模塊oss2和requests,詳情請查看環境說明。

  2. 模板創建完成后,配置參數并創建執行。執行成功后,在目標OSS Bucket中可以看到已下載的文件。image

附錄

進階操作請查看定時備份redis實例并轉儲到OSS。