Я использую Connect API, чтобы получить все потоки контактов из определенного экземпляра, и хочу сохранить их в DynamoDB.
type contactFlow struct {
Arn string
ContactFlowType string
Id string
Name string
}
func HandleRequest(ctx context.Context) (string, error) {
var contactFlowDetails []contactFlow
mySession := session.Must(session.NewSession())
connectSession := connect.New(mySession)
connectInstance := &connect.ListContactFlowsInput{
InstanceId: aws.String("INSTANCE_ID"),
}
connectResult, connectError := connectSession.ListContactFlows(connectInstance)
connectResultFlow := connectResult.ContactFlowSummaryList
connectFlowSummaryList := awsutil.Prettify(connectResultFlow)
fmt.Println(connectFlowSummaryList)
json.Unmarshal([]byte(connectFlowSummaryList), &contactFlowDetails)
fmt.Println(contactFlowDetails)
API, который я пытаюсь использовать, таков: https://docs.aws.amazon.com/sdk-for-go/api/service/connect/#ListContactFlowsOutput
Я получаю результат, когда распечатываю connectFlowSummaryList в CloudWatch Logs, но он всегда возвращает пустой массив [], когда я распечатываю contactFlowDetails .
Редактировать 1: Думаю, я обнаружил, в чем может быть потенциальная проблема при выполнении этого декодирования. Результат из журналов выглядит примерно так:
[
{
Arn: "INSTANCE_ID",
ContactFlowType: "AGENT_WHISPER",
Id: "CONTACT_FLOW_ID",
Name: "Default agent whisper"
}
]
Ключевые значения результата отсутствуют внутри двойных кавычек, как я мог go расшифровывать такой результат?
Спасибо!