Я использую API REST Node.js для аутентификации моих пользователей. Как только они проходят проверку подлинности, я разрешаю им публиковать фотографии с текстом. Мой план состоит в том, чтобы сохранить текст и URL-адрес фотографии в базе данных. Таким образом, когда они перейдут на фид сообщений, мое приложение запросит базу данных, чтобы получить текст и URL, а затем использовать все URL-адреса, чтобы напрямую получать изображения с S3. Это правильный способ сделать это, и если да, то почему я не могу этого сделать, не используя cognito. Я пытаюсь сократить расходы, и похоже, что cognito будет бесполезным, поскольку я уже добавляю аутентификацию с помощью моего API.Как использовать AWS S3 без Amazon Cognito?
Вот код, который у меня есть до сих пор.
let S3BucketName = "*******"
// configure authentication with Cognito
let CognitoPoolID = "*************"
let Region = AWSRegionType.USEast1
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:Region,
identityPoolId:CognitoPoolID)
let configuration = AWSServiceConfiguration(region:Region, credentialsProvider:credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
let ext = "png"
let imageURL = NSBundle.mainBundle().URLForResource("iimage", withExtension: ext)!
let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest.body = imageURL
uploadRequest.key = NSProcessInfo.processInfo().globallyUniqueString + "." + ext
uploadRequest.bucket = S3BucketName
uploadRequest.contentType = "image/" + ext
let transferManager = AWSS3TransferManager.defaultS3TransferManager()
transferManager.upload(uploadRequest).continueWithBlock { (task) -> AnyObject! in
if let error = task.error {
print("Upload failed (\(error))")
}
if let exception = task.exception {
print("Upload failed (\(exception))")
}
if task.result != nil {
let s3URL = NSURL(string: "http://s3.amazonaws.com/\(S3BucketName)/\(uploadRequest.key!)")!
print("Uploaded to:\n\(s3URL)")
}
else {
print("Unexpected empty result.")
}
return nil
}
http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/obtaining-permissions- for-resource-groups.html – digitalR
Пользователь просит просмотреть код, если он подходит для необходимой операции. Выше ответ не является ответом на вышеупомянутый вопрос. – error2007s
ОК. Я ожидал, что пользователь не захочет войти в AWS, чтобы установить политику для ведра. Код в порядке. Похоже, что он был напрямую создан генератором кода AWS. Пользователь должен войти в систему AWS, чтобы установить идентификацию без проверки подлинности. – digitalR