private static Task ListTopics(PublisherClient client, string projectId) { var topics = client.ListTopicsAsync(ProjectTemplate.Expand(projectId)); Console.WriteLine($"Topics in {projectId}:"); return(topics.ForEachAsync(topic => Console.WriteLine($" {topic.Name}"))); }
public async Task ListTopicsAsync() { // Snippet: ListTopicsAsync(string,string,int?,CallSettings) // Create client PublisherClient publisherClient = PublisherClient.Create(); // Initialize request argument(s) string formattedProject = PublisherClient.FormatProjectName("[PROJECT]"); // Make the request IPagedAsyncEnumerable <ListTopicsResponse, Topic> response = publisherClient.ListTopicsAsync(formattedProject); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((Topic item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over fixed-sized pages, lazily performing RPCs as required int pageSize = 10; IAsyncEnumerable <FixedSizePage <Topic> > fixedSizePages = response.AsPages().WithFixedSize(pageSize); await fixedSizePages.ForEachAsync((FixedSizePage <Topic> page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (Topic item in page) { Console.WriteLine(item); } }); // End snippet }
public async Task ListTopicsAsync() { string projectId = _fixture.ProjectId; // Snippet: ListTopicsAsync(*,*,*,*) PublisherClient client = PublisherClient.Create(); ProjectName projectName = new ProjectName(projectId); IAsyncEnumerable <Topic> topics = client.ListTopicsAsync(projectName); await topics.ForEachAsync(topic => { Console.WriteLine(topic.Name); }); // End snippet }
public async Task ListTopicsAsync() { // <ListTopicsAsync> PublisherClient client = PublisherClient.Create(); // Alternative: use a known project resource name: // projects/{PROJECT_ID} string projectName = PublisherClient.GetProjectName("{PROJECT_ID}"); IAsyncEnumerable <Topic> topics = client.ListTopicsAsync(projectName); await topics.ForEachAsync(topic => { Console.WriteLine(topic.Name); }); // </ListTopicsAsync> }
public async Task ListTopicsAsync_RequestObject() { // Snippet: ListTopicsAsync(ListTopicsRequest,CallSettings) // Create client PublisherClient publisherClient = await PublisherClient.CreateAsync(); // Initialize request argument(s) ListTopicsRequest request = new ListTopicsRequest { ProjectAsProjectName = new ProjectName("[PROJECT]"), }; // Make the request PagedAsyncEnumerable <ListTopicsResponse, Topic> response = publisherClient.ListTopicsAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((Topic item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over pages (of server-defined size), performing one RPC per page await response.AsRawResponses().ForEachAsync((ListTopicsResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (Topic item in page) { Console.WriteLine(item); } }); // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <Topic> singlePage = await response.ReadPageAsync(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (Topic item in singlePage) { Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }
public async Task ListTopicsAsync() { string projectId = _fixture.ProjectId; // Snippet: ListTopicsAsync PublisherClient client = PublisherClient.Create(); // Alternative: use a known project resource name: // "projects/{PROJECT_ID}" string projectName = PublisherClient.FormatProjectName(projectId); IAsyncEnumerable <Topic> topics = client.ListTopicsAsync(projectName); await topics.ForEachAsync(topic => { Console.WriteLine(topic.Name); }); // End snippet }