AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Redshift 的代码示例 AWS SDKs
以下代码示例向您展示了如何将 Amazon Redshift 与 AWS 软件开发套件 () SDK 一起使用。
基础知识是向您展示如何在服务中执行基本操作的代码示例。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
场景是向您展示如何通过在一个服务中调用多个函数或与其他 AWS 服务结合来完成特定任务的代码示例。
开始使用
以下代码示例展示了如何开始使用 Amazon Redshift。
- Go
-
- SDK适用于 Go V2
-
package main
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/redshift"
)
// main uses the AWS SDK for Go V2 to create a Redshift client
// and list up to 10 clusters in your account.
// This example uses the default settings specified in your shared credentials
// and config files.
func main() {
ctx := context.Background()
sdkConfig, err := config.LoadDefaultConfig(ctx)
if err != nil {
fmt.Println("Couldn't load default configuration. Have you set up your AWS account?")
fmt.Println(err)
return
}
redshiftClient := redshift.NewFromConfig(sdkConfig)
count := 20
fmt.Printf("Let's list up to %v clusters for your account.\n", count)
result, err := redshiftClient.DescribeClusters(ctx, &redshift.DescribeClustersInput{
MaxRecords: aws.Int32(int32(count)),
})
if err != nil {
fmt.Printf("Couldn't list clusters for your account. Here's why: %v\n", err)
return
}
if len(result.Clusters) == 0 {
fmt.Println("You don't have any clusters!")
return
}
for _, cluster := range result.Clusters {
fmt.Printf("\t%v : %v\n", *cluster.ClusterIdentifier, *cluster.ClusterStatus)
}
}
- Java
-
- SDK适用于 Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.redshift.RedshiftClient;
import software.amazon.awssdk.services.redshift.paginators.DescribeClustersIterable;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class HelloRedshift {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
RedshiftClient redshiftClient = RedshiftClient.builder()
.region(region)
.build();
listClustersPaginator(redshiftClient);
}
public static void listClustersPaginator(RedshiftClient redshiftClient) {
DescribeClustersIterable clustersIterable = redshiftClient.describeClustersPaginator();
clustersIterable.stream()
.flatMap(r -> r.clusters().stream())
.forEach(cluster -> System.out
.println(" Cluster identifier: " + cluster.clusterIdentifier() + " status = " + cluster.clusterStatus()));
}
}
- Python
-
- SDK适用于 Python (Boto3)
-
import boto3
def hello_redshift(redshift_client):
"""
Use the AWS SDK for Python (Boto3) to create an Amazon Redshift client and list
the clusters in your account. This list might be empty if you haven't created
any clusters.
This example uses the default settings specified in your shared credentials
and config files.
:param redshift_client: A Boto3 Redshift Client object.
"""
print("Hello, Redshift! Let's list your clusters:")
paginator = redshift_client.get_paginator("describe_clusters")
clusters = []
for page in paginator.paginate():
clusters.extend(page["Clusters"])
print(f"{len(clusters)} cluster(s) were found.")
for cluster in clusters:
print(f" {cluster['ClusterIdentifier']}")
if __name__ == "__main__":
hello_redshift(boto3.client("redshift"))