AWS Golang CreateSecret () ResourceExistsException для нового уникального имени ключа - PullRequest
0 голосов
/ 17 апреля 2020

Не уверен, что происходит, этот код работал один раз вчера. Теперь независимо от того, какое значение я использую, AWS возвращает ошибку, которая уже существует, но это невозможно.

2020/04/17 19:10:30 error ResourceExistsException: операция завершилась неудачно, потому что секрет / gog1 / RandomSiteName3 уже существует.

_, err = PutParam("/gog1/RandomSiteName3", "test", true, EventGuid)
if err != nil {
        log.Printf("error writing secret: %v ", err)
        return
}



func PutParam(paramName string, paramValue string, encrypt bool, guid string) (output string, err error) {

    svc := secretsmanager.New(AWSSession)
    input := &secretsmanager.CreateSecretInput{
        // ClientRequestToken: aws.String(guid),
        // Description:        aws.String("My test database secret created with the CLI"),
        Name:         aws.String(paramName),
        SecretString: aws.String(paramValue),
    }

    fmt.Printf("putting secret key: %v", paramName)

    _, err = svc.CreateSecret(input)
    if err != nil {
        return "", err
    }

    return

}

1 Ответ

0 голосов
/ 21 апреля 2020

Это произошло из-за срабатывания триггера s3 в al oop:

ПРИМЕЧАНИЕ. При записи в корзину, которая вызывает уведомление, это может привести к выполнению l oop. Например, если сегмент запускает лямбда-функцию каждый раз, когда объект загружается, и функция выгружает объект в область, то функция косвенно запускает себя. Чтобы избежать этого, используйте два сегмента или настройте триггер так, чтобы он применялся только к префиксу, используемому для входящих объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...