文档 AWS SDK 示例 GitHub 存储库中还有更多 S AWS DK 示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与 AWS SDK ListOpportunities
配合使用
以下代码示例演示如何使用 ListOpportunities
。
- .NET
-
- 适用于 .NET 的 SDK
-
列出机会。
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // PDX-License-Identifier: Apache-2.0 using System; using Newtonsoft.Json; using Amazon; using Amazon.Runtime; using Amazon.PartnerCentralSelling; using Amazon.PartnerCentralSelling.Model; namespace AWSExample { class Program { static readonly string catalogToUse = "Sandbox"; static async Task Main(string[] args) { // Initialize credentials from .aws/credentials file var credentials = new Amazon.Runtime.CredentialManagement.SharedCredentialsFile(); if (credentials.TryGetProfile("default", out var profile)) { AWSCredentials awsCredentials = profile.GetAWSCredentials(credentials); //var config = new AmazonPartnerCentralSellingConfig() //{ // ServiceURL = "https://partnercentral-selling.us-east-1.api.aws", //}; //var client = new AmazonPartnerCentralSellingClient(awsCredentials, config); var client = new AmazonPartnerCentralSellingClient(awsCredentials); var request = new ListOpportunitiesRequest { Catalog = catalogToUse, MaxResults = 2 }; try { var response = await client.ListOpportunitiesAsync(request); Console.WriteLine(response.HttpStatusCode); foreach (var opportunity in response.OpportunitySummaries) { Console.WriteLine("Opportunity id: " + opportunity.Id); } string formattedJson = JsonConvert.SerializeObject(response.OpportunitySummaries, Formatting.Indented); Console.WriteLine(formattedJson); } catch(ValidationException ex) { Console.WriteLine("Validation error: " + ex.Message); } catch (AmazonPartnerCentralSellingException e) { Console.WriteLine("Failed:"); Console.WriteLine(e.RequestId); Console.WriteLine(e.ErrorCode); Console.WriteLine(e.Message); } } else { Console.WriteLine("Profile not found."); } } } }
-
有关 API 的详细信息,请参阅 适用于 .NET 的 AWS SDK API 参考ListOpportunities中的。
-
- Go
-
- 适用于 Go V2 的 SDK
-
列出机会。
package main import ( "context" "encoding/json" "fmt" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/partnercentralselling" ) func main() { config, err := config.LoadDefaultConfig(context.TODO()) if err != nil { log.Fatal(err) } config.Region = "us-east-1" client := partnercentralselling.NewFromConfig(config) output, err := client.ListOpportunities(context.TODO(), &partnercentralselling.ListOpportunitiesInput{ MaxResults: aws.Int32(2), Catalog: aws.String("AWS"), }) if err != nil { log.Fatal(err) } jsonOutput, err := json.MarshalIndent(output, "", " ") fmt.Println(string(jsonOutput)) }
-
有关 API 的详细信息,请参阅 适用于 Go 的 AWS SDK API 参考ListOpportunities
中的。
-
- Java
-
- 适用于 Java 的 SDK 2.x
-
列出机会。
package org.example; import java.util.ArrayList; import java.util.List; import org.example.utils.ReferenceCodesUtils; import static org.example.utils.Constants.*; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.partnercentralselling.PartnerCentralSellingClient; import software.amazon.awssdk.services.partnercentralselling.model.ListOpportunitiesRequest; import software.amazon.awssdk.services.partnercentralselling.model.ListOpportunitiesResponse; import software.amazon.awssdk.services.partnercentralselling.model.OpportunitySummary; /* * Purpose * PC-API-18 Getting list of Opportunities */ public class ListOpportunititesPaging { static PartnerCentralSellingClient client = PartnerCentralSellingClient.builder() .region(Region.US_EAST_1) .credentialsProvider(DefaultCredentialsProvider.create()) .httpClient(ApacheHttpClient.builder().build()) .build(); public static void main(String[] args) { List<OpportunitySummary> opportunitySummaries = getResponse(); ReferenceCodesUtils.formatOutput(opportunitySummaries); } private static List<OpportunitySummary> getResponse() { List<OpportunitySummary> opportunitySummaries = new ArrayList<OpportunitySummary>(); ListOpportunitiesRequest listOpportunityRequest = ListOpportunitiesRequest.builder() .catalog(CATALOG_TO_USE) .maxResults(5) .build(); ListOpportunitiesResponse response = client.listOpportunities(listOpportunityRequest); opportunitySummaries.addAll(response.opportunitySummaries()); while (response.nextToken() != null && response.nextToken().length() > 0) { listOpportunityRequest = ListOpportunitiesRequest.builder() .catalog(CATALOG_TO_USE) .maxResults(5) .nextToken(response.nextToken()) .build(); response = client.listOpportunities(listOpportunityRequest); opportunitySummaries.addAll(response.opportunitySummaries()); } client.close(); return opportunitySummaries; } }
-
有关 API 的详细信息,请参阅 AWS SDK for Java 2.x API 参考ListOpportunities中的。
-
- Python
-
- 适用于 Python 的 SDK(Boto3)
-
列出机会。
#!/usr/bin/env python """ Purpose PC-API -18 Getting list of Opportunities """ import json import logging import boto3 import utils.helpers as helper from utils.constants import CATALOG_TO_USE serviceName = "partnercentral-selling" partner_central_client = boto3.client( service_name=serviceName, region_name='us-east-1' ) def get_list_of_opportunities(): opportunity_list = [] list_opportunities_request ={ "Catalog": CATALOG_TO_USE, "MaxResults": 20 } try: # Perform an API call response = partner_central_client.list_opportunities(**list_opportunities_request) opportunity_list.extend(response["OpportunitySummaries"]) while "NextToken" in response and response["NextToken"] is not None: list_opportunities_request["NextToken"] = response["NextToken"] response = partner_central_client.list_opportunities(**list_opportunities_request) opportunity_list.extend(response["OpportunitySummaries"]) return opportunity_list except Exception as err: # Catch all client exceptions print(json.dumps(err.response)) def usage_demo(): logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") print("-" * 88) print("Getting list of Opportunities.") print("-" * 88) helper.pretty_print_datetime(get_list_of_opportunities()) if __name__ == "__main__": usage_demo()
-
有关 API 的详细信息,请参阅适用ListOpportunities于 Python 的AWS SDK (Boto3) API 参考。
-
ListEngagementInvitations
ListSolutions