Configure y ejecute su primer proyecto del SDK de Alibaba Cloud para .NET en VS Code sobre Windows.
Requisitos previos
.NET está instalado. Install .NET on Windows.
VS Code está instalado. Set up a .NET development environment on Windows.
Uso del SDK
Uso de un proyecto de ejemplo desde OpenAPI Explorer
Si el proyecto de ejemplo no está disponible, Install the SDK in an existing project.
En OpenAPI Explorer, busque la operación de API que desea invocar, como ECS DescribeRegions, y haga clic en el nombre de la API para abrir la página de depuración.
Configure los parámetros de la API en la pestaña de parámetros. Consulte la pestaña de documentación para obtener detalles sobre la operación e información de facturación.
En la pestaña SDK Sample Code, descargue y extraiga el proyecto del SDK.
En VS Code, abra la carpeta del proyecto extraído.
-
Obtenga un par de AccessKey de usuario RAM. Create an AccessKey for a RAM user.
ImportanteConfigure el par de AccessKey como variables de entorno. Configure environment variables on Linux, macOS, and Windows systems.
-
Ejecute el proyecto. Una respuesta sin excepciones indica que la ejecución fue exitosa.
cd core dotnet run
Instalación del SDK en un proyecto existente
En VS Code, abra una carpeta de proyecto .NET. Ejecute
dotnet new console -n V2SDKProjectpara crear un proyecto de consola y luego ejecutecd V2SDKProjectpara ingresar al directorio.-
Instale el SDK. En SDK Center, seleccione un producto de nube (ECS en este ejemplo), establezca SDK Version en V2.0 y el lenguaje en C#; después, copie y ejecute el comando de instalación.
dotnet add package AlibabaCloud.SDK.Ecs20140526 --version 4.1.9 -
Inicialice el cliente de ECS.
ImportanteDebe usar un par de AccessKey para completar la verificación de identidad al inicializar el cliente. Por lo tanto, es necesario obtener un par de AccessKey con antelación. Para más información sobre cómo obtener un par de AccessKey, consulte Create an AccessKey.
Después de obtener el par de AccessKey de un usuario RAM, debe configurar dicho par en las variables de entorno. Para más información, consulte Configure environment variables in Linux, macOS, and Windows.
Para más información sobre cómo configurar el endpoint, consulte Endpoints.
public static AlibabaCloud.SDK.Ecs20140526.Client CreateClient() { AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set. AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set. AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), }; // For more information about endpoints, see https://api.alibabacloud.com/product/Ecs config.Endpoint = "ecs.cn-shanghai.aliyuncs.com"; return new AlibabaCloud.SDK.Ecs20140526.Client(config); } -
Invoque la API. Consulte la API Documentation correspondiente a la API objetivo. El siguiente ejemplo invoca la API
DescribeRegionsde ECS.NotaCada API cuenta con un objeto de solicitud independiente que sigue la convención de nomenclatura
${APIName}${Request}, comoDescribeRegionsRequest.AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest { AcceptLanguage = "en-US", }; -
Agregue el manejo de errores. Exception handling.
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Tea; using Tea.Utils; namespace AlibabaCloud.SDK.Sample { public class Sample { /** * Use an AccessKey ID and AccessKey secret to initialize the client. * @return Client * @throws Exception */ public static AlibabaCloud.SDK.Ecs20140526.Client CreateClient() { AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config { // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is set. AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), // Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is set. AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), }; config.Endpoint = "ecs.cn-shanghai.aliyuncs.com"; return new AlibabaCloud.SDK.Ecs20140526.Client(config); } public static void Main(string[] args) { AlibabaCloud.SDK.Ecs20140526.Client client = CreateClient(); AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest describeRegionsRequest = new AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsRequest { AcceptLanguage = "en-US", }; AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); try { AlibabaCloud.SDK.Ecs20140526.Models.DescribeRegionsResponse resp = client.DescribeRegionsWithOptions(describeRegionsRequest, runtime); Console.WriteLine(AlibabaCloud.TeaUtil.Common.ToJSONString(resp)); } catch (TeaException error) { // This is for demonstration only. Handle exceptions with caution and do not ignore them in your project. // Error message Console.WriteLine(error.Message); // Diagnosis URL Console.WriteLine(error.Data["Recommend"]); AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message); } catch (Exception _error) { TeaException error = new TeaException(new Dictionary<string, object> { { "message", _error.Message } }); // This is for demonstration only. Handle exceptions with caution and do not ignore them in your project. // Error message Console.WriteLine(error.Message); // Diagnosis URL Console.WriteLine(error.Data["Recommend"]); AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message); } } } } -
Ejecute el código de ejemplo.
dotnet run