Как правильно импортировать сервис aws-sdk-go? - PullRequest
0 голосов
/ 02 мая 2018

Я довольно новичок в языке программирования Go и совершенно новичок в Go SDK от AWS. Я пытаюсь использовать службу, но у меня возникла странная проблема, когда обнаруживаются типы, определенные импортированной службой, но функции службы не определены.

Этот вопрос не об использовании конкретного сервиса, а о том, как правильно его импортировать. Мой код:

package auth

import (
    "log"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/service/cognitoidentityprovider"
)

func SignUpTest() {

    input := cognitoidentityprovider.SignUpInput{
        Username: aws.String("example@mail.com"),
        Password: aws.String("test1234"),
    }

    _, err := cognitoidentityprovider.SignUp(&input)

    if err != nil {
        log.Fatal(err)
    }
}

Я получаю следующую ошибку при запуске go build:

auth/signup.go:18:12: undefined: cognitoidentityprovider.SignUp

Автозаполнение в моей IDE также утверждает, что может найти структуру cognitoidentityprovider.SingUpInput, но не может найти функцию cognitoidentityprovider.SignUp.

Я использую Go 1.10.1 в WSL Ubuntu. Я использую DEP 0.4.1 для управления пакетами. Я проверил, что AWS SDK доступен в папке поставщика, и что пакет cognitoidentityprovider доступен (SignUp), также есть функция.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 02 мая 2018

Ошибка говорит само за себя. cognitoidentityprovider.SignUp не определено, поскольку отсутствует символ SignUp, экспортируемый пакетом cognitoidentityprovider.

Я не совсем уверен, что вы хотите сделать вместо этого, так как я не знаком с этим SDK, но вы пытаетесь вызвать функцию, которая не существует. Я предлагаю пересмотреть документацию или пример, которому вы следуете. Вы, вероятно, совершили простую ошибку.

Вы, похоже, смущены * * экземпляром * CognitoIdentityProvider.SignUp метода экземпляра. Но поскольку это метод экземпляра, а не экспортируемая функция, для него требуется экземпляр CognitoIdentityProvider first:

cip := cognitoidentityprovider.New( ... )
_, err := cip.SignUp(input)
...