2017-07-04 8 views
0

Ich habe den folgenden Code:Boto3 - Beschreiben Redshift

import boto3 
import json 
import string 

client = boto3.client('redshift', 'us-east-1') 
cluster_list = client.describe_clusters() 

result = [{"{#REDSHIFT}": row['Clusters'][0]['Endpoint']['Address']} for row in client.describe_clusters()] 
result = {"data": result} 
json_pre = json.dumps(result) 
json_pos = json_pre.translate(None, string.whitespace) 
print json_pos 

Aber ich habe folgende Fehlermeldung:

Linie 8, in result = [{ "{#REDSHIFT}": row [‘ Cluster '] [0] [' Endpoint '] [' Adresse ']} TypeError: String-Indizes müssen ganze Zahlen sein ] [0] ['Endpunkt'] ['Adresse'], um einen Json zu generieren.

Antwort

0

Der richtige Code ist hier:

import boto3 
import json 
import string 

client = boto3.client('redshift', 'us-east-1') 
cluster_list = client.describe_clusters() 

result = [{"{#REDSHIFT}": red['Endpoint']['Address']} for red in cluster_list['Clusters']] 
result = {"data": result} 
json_pre = json.dumps(result) 
json_pos = json_pre.translate(None, string.whitespace) 
print json_pos