Skip to content

Commit 781e8e7

Browse files
committed
Initial example files.
1 parent 37c269b commit 781e8e7

File tree

15 files changed

+2481
-332
lines changed

15 files changed

+2481
-332
lines changed
Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
# Amazon Redshift code examples for the SDK for .NET Framework 4.x
2+
3+
redshift_CreateCluster:
4+
title: Create an &RS; cluster
5+
title_abbrev: Create a cluster
6+
synopsis: create an &RS; cluster.
7+
category: Actions
8+
languages:
9+
.NET:
10+
versions:
11+
- sdk_version: 4
12+
github: dotnetv4/Redshift
13+
excerpts:
14+
- description:
15+
snippet_tags:
16+
- dotnetv4.example_code.redshift.CreateCluster
17+
services:
18+
redshift: {CreateCluster}
19+
20+
redshift_DeleteCluster:
21+
title: Delete an &RS; cluster
22+
title_abbrev: Delete a cluster
23+
synopsis: delete an &RS; cluster.
24+
category: Actions
25+
languages:
26+
.NET:
27+
versions:
28+
- sdk_version: 4
29+
github: dotnetv4/Redshift
30+
excerpts:
31+
- description:
32+
snippet_tags:
33+
- dotnetv4.example_code.redshift.DeleteCluster
34+
services:
35+
redshift: {DeleteCluster}
36+
37+
redshift_DescribeClusters:
38+
title: Describe &RS; clusters
39+
title_abbrev: Describe clusters
40+
synopsis: describe &RS; clusters.
41+
category: Actions
42+
languages:
43+
.NET:
44+
versions:
45+
- sdk_version: 4
46+
github: dotnetv4/Redshift
47+
excerpts:
48+
- description:
49+
snippet_tags:
50+
- dotnetv4.example_code.redshift.DescribeClusters
51+
services:
52+
redshift: {DescribeClusters}
53+
54+
redshift_ModifyCluster:
55+
title: Modify an &RS; cluster
56+
title_abbrev: Modify a cluster
57+
synopsis: modify an &RS; cluster.
58+
category: Actions
59+
languages:
60+
.NET:
61+
versions:
62+
- sdk_version: 4
63+
github: dotnetv4/Redshift
64+
excerpts:
65+
- description:
66+
snippet_tags:
67+
- dotnetv4.example_code.redshift.ModifyCluster
68+
services:
69+
redshift: {ModifyCluster}
70+
71+
redshift_CreateTable:
72+
title: Create a table in an &RS; database
73+
title_abbrev: Create a table
74+
synopsis: create a table in an &RS; database.
75+
category: Actions
76+
languages:
77+
.NET:
78+
versions:
79+
- sdk_version: 4
80+
github: dotnetv4/Redshift
81+
excerpts:
82+
- description:
83+
snippet_tags:
84+
- dotnetv4.example_code.redshift.CreateTable
85+
services:
86+
redshift-data: {ExecuteStatement}
87+
88+
redshift_Insert:
89+
title: Insert data into an &RS; table
90+
title_abbrev: Insert data into a table
91+
synopsis: insert data into an &RS; table.
92+
category: Actions
93+
languages:
94+
.NET:
95+
versions:
96+
- sdk_version: 4
97+
github: dotnetv4/Redshift
98+
excerpts:
99+
- description:
100+
snippet_tags:
101+
- dotnetv4.example_code.redshift.Insert
102+
services:
103+
redshift-data: {ExecuteStatement}
104+
105+
redshift_Query:
106+
title: Query data from an &RS; table
107+
title_abbrev: Query data from a table
108+
synopsis: query data from an &RS; table.
109+
category: Actions
110+
languages:
111+
.NET:
112+
versions:
113+
- sdk_version: 4
114+
github: dotnetv4/Redshift
115+
excerpts:
116+
- description:
117+
snippet_tags:
118+
- dotnetv4.example_code.redshift.Query
119+
services:
120+
redshift-data: {ExecuteStatement, GetStatementResult}
121+
122+
redshift_DescribeStatement:
123+
title: Describe an &RS; statement execution
124+
title_abbrev: Describe a statement
125+
synopsis: describe an &RS; statement execution.
126+
category: Actions
127+
languages:
128+
.NET:
129+
versions:
130+
- sdk_version: 4
131+
github: dotnetv4/Redshift
132+
excerpts:
133+
- description:
134+
snippet_tags:
135+
- dotnetv4.example_code.redshift.DescribeStatement
136+
services:
137+
redshift-data: {DescribeStatement}
138+
139+
redshift_GetStatementResult:
140+
title: Get results from an &RS; statement
141+
title_abbrev: Get statement results
142+
synopsis: get results from an &RS; statement.
143+
category: Actions
144+
languages:
145+
.NET:
146+
versions:
147+
- sdk_version: 4
148+
github: dotnetv4/Redshift
149+
excerpts:
150+
- description:
151+
snippet_tags:
152+
- dotnetv4.example_code.redshift.GetStatementResult
153+
services:
154+
redshift-data: {GetStatementResult}
155+
156+
redshift_ListDatabases:
157+
title: List databases in an &RS; cluster
158+
title_abbrev: List databases
159+
synopsis: list databases in an &RS; cluster.
160+
category: Actions
161+
languages:
162+
.NET:
163+
versions:
164+
- sdk_version: 4
165+
github: dotnetv4/Redshift
166+
excerpts:
167+
- description:
168+
snippet_tags:
169+
- dotnetv4.example_code.redshift.ListDatabases
170+
services:
171+
redshift-data: {ListDatabases}
172+
173+
redshift_Hello:
174+
title: Hello &RS;
175+
title_abbrev: Hello &RS;
176+
synopsis: get started using &RS;.
177+
category: Hello
178+
languages:
179+
.NET:
180+
versions:
181+
- sdk_version: 4
182+
github: dotnetv4/Redshift
183+
excerpts:
184+
- description:
185+
snippet_tags:
186+
- dotnetv4.example_code.redshift.Hello
187+
services:
188+
redshift: {DescribeClusters}
189+
190+
redshift_Scenario:
191+
title: Get started with &RS; resources
192+
title_abbrev: Get started with resources
193+
synopsis: learn the basics of &RS; by creating clusters, databases, tables, and querying data.
194+
category: Scenarios
195+
languages:
196+
.NET:
197+
versions:
198+
- sdk_version: 4
199+
github: dotnetv4/Redshift
200+
excerpts:
201+
- description: Create a Redshift wrapper class to manage operations.
202+
snippet_tags:
203+
- dotnetv4.example_code.redshift.RedshiftWrapper
204+
- description: Run an interactive scenario demonstrating Redshift basics.
205+
snippet_tags:
206+
- dotnetv4.example_code.redshift.RedshiftScenario
207+
services:
208+
redshift: {CreateCluster, DeleteCluster, DescribeClusters, ModifyCluster}
209+
redshift-data: {ExecuteStatement, DescribeStatement, GetStatementResult, ListDatabases}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
using System;
5+
using System.Collections.Generic;
6+
using System.Threading.Tasks;
7+
using Amazon.Redshift;
8+
using Amazon.Redshift.Model;
9+
using Microsoft.Extensions.Logging;
10+
11+
namespace RedshiftActions;
12+
13+
/// <summary>
14+
/// Hello Amazon Redshift example.
15+
/// </summary>
16+
public class HelloRedshift
17+
{
18+
private static ILogger logger = null!;
19+
20+
// snippet-start:[Redshift.dotnetv4.Hello]
21+
/// <summary>
22+
/// Main method to run the Hello Amazon Redshift example.
23+
/// </summary>
24+
/// <param name="args">Command line arguments (not used).</param>
25+
public static async Task Main(string[] args)
26+
{
27+
var redshiftClient = new AmazonRedshiftClient();
28+
29+
logger = LoggerFactory.Create(builder => { builder.AddConsole(); })
30+
.CreateLogger<HelloRedshift>();
31+
32+
Console.Clear();
33+
Console.WriteLine("Hello, Amazon Redshift! Let's list available clusters:");
34+
Console.WriteLine();
35+
36+
var clusters = new List<Cluster>();
37+
38+
try
39+
{
40+
// Use pagination to retrieve all clusters.
41+
var clustersPaginator = redshiftClient.Paginators.DescribeClusters(new DescribeClustersRequest());
42+
43+
await foreach (var response in clustersPaginator.Responses)
44+
{
45+
if (response.Clusters != null)
46+
clusters.AddRange(response.Clusters);
47+
}
48+
49+
Console.WriteLine($"{clusters.Count} cluster(s) retrieved.");
50+
51+
foreach (var cluster in clusters)
52+
{
53+
Console.WriteLine($"\t{cluster.ClusterIdentifier} (Status: {cluster.ClusterStatus})");
54+
}
55+
}
56+
catch (AmazonRedshiftException ex)
57+
{
58+
logger.LogError("Error listing clusters: {Message}", ex.Message);
59+
Console.WriteLine($"Couldn't list clusters. Error: {ex.Message}");
60+
}
61+
catch (Exception ex)
62+
{
63+
logger.LogError("An error occurred: {Message}", ex.Message);
64+
Console.WriteLine($"An error occurred: {ex.Message}");
65+
}
66+
}
67+
// snippet-end:[Redshift.dotnetv4.Hello]
68+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project Sdk="Microsoft.NET.Sdk">
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<Nullable>enable</Nullable>
7+
<LangVersion>latest</LangVersion>
8+
<AssemblyName>RedshiftActions</AssemblyName>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.13" />
13+
<PackageReference Include="AWSSDK.Redshift" Version="4.0.4.1" />
14+
<PackageReference Include="AWSSDK.RedshiftDataAPIService" Version="4.0.3" />
15+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
16+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
17+
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.0" />
18+
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="10.0.0" />
19+
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="10.0.0" />
20+
</ItemGroup>
21+
22+
<ItemGroup>
23+
<Content Include="settings.*.json">
24+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
25+
<DependentUpon>settings.json</DependentUpon>
26+
</Content>
27+
</ItemGroup>
28+
</Project>

0 commit comments

Comments
 (0)