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

SDK調(diào)用示例

更新時(shí)間:

阿里云SDK針對(duì)ROS簡(jiǎn)化了使用編程語(yǔ)言定義和部署云資源的過(guò)程(如Java、TypeScript、Go、Python、PHP、C++、C#、Node.js和Swift)。本文為您介紹如何使用阿里云SDK調(diào)用ROS API。

說(shuō)明

關(guān)于阿里云SDK的詳細(xì)信息,請(qǐng)參見(jiàn)什么是阿里云SDK?

查看OpenAPI文檔

在調(diào)用OpenAPI前,建議您先閱讀對(duì)應(yīng)接口文檔,了解、學(xué)習(xí)調(diào)用該接口所需要的參數(shù)及權(quán)限等。更多信息,請(qǐng)參見(jiàn)API概覽

準(zhǔn)備工作

  1. 獲取AccessKey信息。

    獲取當(dāng)前賬號(hào)AccessKey信息用于配置憑證,如果尚未創(chuàng)建,請(qǐng)參見(jiàn)創(chuàng)建AccessKey

    重要

    為避免主賬號(hào)泄露AccessKey帶來(lái)的安全風(fēng)險(xiǎn),建議您創(chuàng)建RAM用戶,授予RAM用戶資源編排ROS相關(guān)的訪問(wèn)權(quán)限,再使用RAM用戶的AccessKey調(diào)用SDK。更多信息,請(qǐng)參見(jiàn)為RAM角色授權(quán)

    如果您不了解AccessKey且希望快速的使用SDK,可以按照下文創(chuàng)建并授權(quán)一個(gè)僅用于調(diào)用OpenAPI的RAM用戶。

    1. 創(chuàng)建RAM用戶。

      1. 訪問(wèn)RAM用戶列表,單擊創(chuàng)建用戶

      2. 設(shè)置登錄名稱,并選擇訪問(wèn)方式使用永久 AccessKey 訪問(wèn)

      3. 單擊確定,創(chuàng)建RAM用戶并保存AccessKey IDAccessKey Secret信息。

        重要

        RAM用戶的AccessKey Secret只在創(chuàng)建時(shí)顯示,不支持查看,請(qǐng)注意保存。

      image

    2. 完成授權(quán)。

      1. 訪問(wèn)RAM用戶列表,單擊目標(biāo)RAM用戶最右側(cè)操作列的添加權(quán)限

      2. 權(quán)限策略區(qū)塊中輸入關(guān)鍵字ROS進(jìn)行搜索,選擇AliyunROSFullAccess權(quán)限策略。

        重要

        如果系統(tǒng)策略不符合您的需求,根據(jù)最小授權(quán)原則,建議您創(chuàng)建自定義策略。更多信息,請(qǐng)參見(jiàn)通過(guò)可視化編輯模式創(chuàng)建自定義權(quán)限策略

        image

        • AliyunROSFullAccess:管理資源編排服務(wù)(ROS)的權(quán)限。

        • AliyunROSReadOnlyAccess:只讀訪問(wèn)資源編排服務(wù)(ROS)的權(quán)限。

      3. 單擊確定新增授權(quán),完成授權(quán)操作。

  2. 配置憑證。

    為避免將AccessKey硬編碼到業(yè)務(wù)代碼中帶來(lái)的安全風(fēng)險(xiǎn),建議您采用配置環(huán)境變量的方法管理AccessKey。本文以設(shè)置環(huán)境變量為例配置憑證。

    Linux和macOS系統(tǒng)

    通過(guò)export命令配置環(huán)境變量

    重要

    使用export命令配置的臨時(shí)環(huán)境變量?jī)H對(duì)當(dāng)前會(huì)話有效,當(dāng)會(huì)話退出之后所設(shè)置的環(huán)境變量將會(huì)丟失。若需長(zhǎng)期保留環(huán)境變量,可將export命令配置到對(duì)應(yīng)操作系統(tǒng)的啟動(dòng)配置文件中。

    • 配置AccessKey ID、AccessKey Secret。

      # 將<ACCESS_KEY_ID>替換為您自己的AccessKey ID。
      export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
      # 將<ACCESS_KEY_SECRET>替換為您自己的AccessKey Secret。
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
    • 驗(yàn)證是否配置成功。

      執(zhí)行echo $ALIBABA_CLOUD_ACCESS_KEY_ID命令,如果返回正確的AccessKey ID,則說(shuō)明配置成功。

    Windows系統(tǒng)

    通過(guò)圖形用戶界面GUI
    • 操作步驟

      以下為Windows 10中通過(guò)圖形用戶界面設(shè)置環(huán)境變量的步驟。

      在桌面右鍵單擊此電腦,選擇屬性>高級(jí)系統(tǒng)設(shè)置>環(huán)境變量>系統(tǒng)變量/用戶變量>新建,完成以下配置:

      變量

      示例值

      AccessKey ID

      • 變量名:ALIBABA_CLOUD_ACCESS_KEY_ID

      • 變量值:LTAI4GDty8ab9W4Y1D****

      AccessKey Secret

      • 變量名:ALIBABA_CLOUD_ACCESS_KEY_SECRET

      • 變量值:IrVTNZNy5yQelTETg0cZML3TQn****

    • 測(cè)試設(shè)置是否成功

      單擊開(kāi)始(或快捷鍵:Win+R)> 運(yùn)行(輸入 cmd)> 確定(或按 Enter 鍵),打開(kāi)命令提示符,執(zhí)行echo %ALIBABA_CLOUD_ACCESS_KEY_ID%echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%命令。若返回正確的AccessKey,則說(shuō)明配置成功。

安裝運(yùn)行環(huán)境以及SDK依賴

您需要安裝編程語(yǔ)言的對(duì)應(yīng)版本,以及配置ROS SDK依賴,以滿足運(yùn)行環(huán)境。

可參考下圖在OpenAPI門戶中,根據(jù)您使用的編程語(yǔ)言配置環(huán)境、SDK依賴。

image

使用阿里云SDK

本節(jié)以ListStacks - 查詢資源棧列表接口為例,為您展示如何使用阿里云SDK調(diào)用ROS API。

生成或編寫代碼

生成代碼

您可以通過(guò)OpenAPI生成代碼并下載,調(diào)用API。

  1. 登錄資源編排API調(diào)試列表

  2. 選擇您需要使用的API,并填寫參數(shù),單擊發(fā)起調(diào)用。本文以ListStacks接口為例。

  3. SDK示例頁(yè)簽下的Python頁(yè)簽,單擊下載完整工程,下載Python SDK示例代碼包。

  4. 在本地解壓示例代碼包,并進(jìn)入alibabacloud_sample目錄。

image

編寫代碼

您可以根據(jù)API文檔自行編寫代碼并調(diào)用API。

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import os
import sys

from typing import List

from alibabacloud_ros20190910.client import Client as ROS20190910Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ros20190910 import models as ros20190910_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> ROS20190910Client:
        """
        使用AK&SK初始化賬號(hào)Client
        @return: Client
        @throws Exception
        """
        # 工程代碼泄露可能會(huì)導(dǎo)致 AccessKey 泄露,并威脅賬號(hào)下所有資源的安全性。以下代碼示例僅供參考。
        config = open_api_models.Config(
            # 必填,請(qǐng)確保代碼運(yùn)行環(huán)境設(shè)置了環(huán)境變量 ALIBABA_CLOUD_ACCESS_KEY_ID。,
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # 必填,請(qǐng)確保代碼運(yùn)行環(huán)境設(shè)置了環(huán)境變量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Endpoint 請(qǐng)參考 https://api.aliyun.com/product/ROS
        config.endpoint = f'ros.aliyuncs.com'
        return ROS20190910Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        client = Sample.create_client()
        list_stacks_request = ros20190910_models.ListStacksRequest(
            region_id='cn-hangzhou'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 復(fù)制代碼運(yùn)行請(qǐng)自行打印 API 的返回值
            client.list_stacks_with_options(list_stacks_request, runtime)
        except Exception as error:
            # 此處僅做打印展示,請(qǐng)謹(jǐn)慎對(duì)待異常處理,在工程項(xiàng)目中切勿直接忽略異常。
            # 錯(cuò)誤 message
            print(error.message)
            # 診斷地址
            print(error.data.get("Recommend"))
            UtilClient.assert_as_string(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        client = Sample.create_client()
        list_stacks_request = ros20190910_models.ListStacksRequest(
            region_id='cn-hangzhou'
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 復(fù)制代碼運(yùn)行請(qǐng)自行打印 API 的返回值
            await client.list_stacks_with_options_async(list_stacks_request, runtime)
        except Exception as error:
            # 此處僅做打印展示,請(qǐng)謹(jǐn)慎對(duì)待異常處理,在工程項(xiàng)目中切勿直接忽略異常。
            # 錯(cuò)誤 message
            print(error.message)
            # 診斷地址
            print(error.data.get("Recommend"))
            UtilClient.assert_as_string(error.message)


if __name__ == '__main__':
    Sample.main(sys.argv[1:]) 

運(yùn)行代碼

運(yùn)行代碼得到如下輸出結(jié)果。

{
  "TotalCount": 1,
  "PageSize": 10,
  "RequestId": "692E6895-AEFC-550C-B968-AE929BB68891",
  "PageNumber": 1,
  "Stacks": [
    {
      "Status": "IMPORT_CREATE_COMPLETE",
      "OperationInfo": {},
      "ResourceGroupId": "rg-acfmz7hmshz****",
      "ServiceManaged": false,
      "StatusReason": "Stack IMPORT_CREATE completed successfully",
      "CreateTime": "2023-06-26T09:40:26",
      "StackType": "ROS",
      "RegionId": "cn-hangzhou",
      "DisableRollback": false,
      "StackName": "TemplateScratch-ResourceImport-wffTp****",
      "Tags": [
        {
          "Value": "rg-acfmz7hmshzcriy",
          "Key": "acs:rm:rgId"
        }
      ],
      "TimeoutInMinutes": 60,
      "StackId": "814d2113-348c-41f1-adb2-85d3aadf****"
    }
  ]
}