Вопросы с тегами [amazon-s3]

1

голосов
0

ответ
13

Просмотры

AWS: Доступ запрещен при попытке загрузить presigned URL (прямая FileUpload браузер)

Я пытаюсь использовать presigned URL, но я получаю 403 Forbidden Access Denied, несмотря на создание все, как я считаю, что я должен. Я хочу, чтобы загрузить файл непосредственно из браузера Amazon S3. Я в первую очередь позволяет корневой AWS счет использования putObject. У меня нет каких-либо дополнительных счетов - я просто хочу, чтобы работать на моей учетной записи суперпользователя, чтобы начать с. Вот политика Ковш: { "Версия": "2012-10-17", "Id": "XXXX", "Заявление": [{ "Sid": "XXXXX", "Эффект": "Разрешить", " Принципал ": { "AWS": "ARN: AWS: РМКО :: XXXX: корень"}, "Действие": "s3: PutObject", "Ресурс": "ARN: AWS: s3 ::: XXXXX / *"}]} Это мой Node.js бэкенд. Здесь я просто сгенерировать URL и отправить его в веб-интерфейсе. Некоторый код для внутреннего интерфейса: константный АМС = требуется ( 'AWS-SDK'); aws.config.update ({регион: "ес-северо-1", accessKeyId: "XXX", secretAccessKey: "YYY"}); Const s3 = новый aws.S3 ({apiVersion: "2006-03-01"}); app.get ( '/ GetURL', (REQ, Рез) => {сопз s3Params = {Ковш: 'XXXXXXXXXXXXX', ключ: req.query.filename, Истекает: 500, ТипСодержимый: req.query.type, ACL: " общественное чтение»}; s3.getSignedUrl ( "putObject", s3Params, (ERR, данные) => {res.send (данные);});}) В интерфейсе, я сделать простой вызов, используя URL с файл Я хочу, чтобы загрузить. Когда я выполнить вторую выборку вызова, он будет генерировать сообщение об ошибке: функции асинхронной handleUpload (е) {константный файл = e.target.files [0]; константные разреш = ждут выборки ( 'HTTP: // локальный: 3001 / GetURL'); Const URL = ждут res.text (); Const = resUpload ждут выборки (URL, {метод: 'PUT', тело: файл}); } Любые идеи, что я сделал неправильно? Edit - Похоже, это работает, если я снимите первый флажок - это большое дело или это должно всегда быть блокировано в производственном окр? } Любые идеи, что я сделал неправильно? Edit - Похоже, это работает, если я снимите первый флажок - это большое дело или это должно всегда быть блокировано в производственном окр? } Любые идеи, что я сделал неправильно? Edit - Похоже, это работает, если я снимите первый флажок - это большое дело или это должно всегда быть блокировано в производственном окр?
jones
1

голосов
2

ответ
344

Просмотры

AWS S3 Bucket Policy Whitelist

У меня есть политика ведра, что мои списки диапазонов IP в AWS. У меня есть сервер EC2 работает упаковщик построить работу, которая пытается вытащить объект из моего ведра, и я получаю 403 Запретной ошибку, даже если IP моего EC2 сервера под управлением указанным задание явно в белом списке диапазона. Даже когда я бег Wget из машины в пределах этого диапазона CIDR, я получаю ту же ошибку. Я запутался, почему это происходит. Политика кажется прекрасной. Ниже мое ведро политики, IP моего сервера, и ошибка: Политика Ковш: { "Версия": "2012-10-17", "Id": "S3PolicyId1", "Заявление": [{ "Sid": "IPAllow", "Эффект": "Разрешить", "Принципал": "*", "Действие": "s3: GetObject",
dmn0972
1

голосов
1

ответ
78

Просмотры

Скопируйте содержимое S3 ведра в другое ведро | Узел JS

Я хочу, чтобы скопировать все содержимое ведра S3 в другое ведро S3 (в одной и той же учетной записи) с помощью AWS Lambda (NodeJs). Прямо сейчас, что я делаю, чтобы перечислить содержимое исходного ведре, а затем скопировать их в ведре назначения. Есть ли лучший подход, чтобы скопировать все содержимое? Короче говоря, я хочу дубликат ведра. Мой код в NodeJs является: s3.listObjects (sourceBucketParams, функция (эээ, данные) {если (ERR) {console.log ( "Ошибка при копировании файлов:", ERR);} если (данные === нуль || данные === не определено) {обратного вызова (нуль, 'Все сделано!');} если (data.Contents.length) {async.each (data.Contents, функция (файл, центибар) {вар Params = {CopySource: sourceBucket + '/' + file.Key, Ковш: destBucketName, Ключ: file.Key, ACL: 'общественного чтения'}; s3.copyObject (PARAMS, функция (copyErr, CopyData) {если (copyErr) {console.log ( "Ошибка:" + copyErr);}}); Обратный вызов (нуль, 'Все сделано!'); }); }});
Fayza Nawaz
1

голосов
3

ответ
82

Просмотры

Как получить папки верхнего уровня в качестве ковша S3 с помощью boto3?

У меня есть ведро S3 с несколькими папками верхнего уровня, и сотни файлов в каждой из этих папок. Как получить имена этих папок верхнего уровня? Я попробовал следующее: s3 = boto3.resource ( 's3', REGION_NAME = 'мы-запад-2', endpoint_url = 'https: //s3.us-west-2.amazonaws.com') ведро = s3. Ковш ( 'XXX') для OBJ в bucket.objects.filter (Prefix = '', Разделитель = '/'): печать obj.key Но это не похоже на работу. Я думал об использовании регулярных выражений, чтобы отфильтровать все имена папок, но это не кажется, время эффективным. Заранее спасибо!
Derek Zhang
0

голосов
0

ответ
4

Просмотры

Загрузка файлов из AWS S3 Ковш с результатами boto3 в ClientError: произошла ошибка (403): Запретный

Я пытаюсь загрузить файлы с s3 ведра с использованием идентификатора доступа ключа и Секретный ключа доступа, предоставленный https://db.humanconnectome.org, Однако, несмотря на то, что я в состоянии ориентироваться в базе данных и найти нужные файлы (как я настроил свои полномочия через AWS кли), пытаясь загрузить их результаты в следующей ошибке: «botocore.exceptions.ClientError: произошла ошибка (403) при вызове операции HeadObject: Запрещенный»с теми же учетными данными, я могу просматривать ту же базу данных и загружать файлы вручную через браузер облако хранения, такие как Cyberduck, так как Cyberduck получает доступ к данным не вызывает 403 Forbidden ошибку. Кроме того, я проверил, что boto3 может получить доступ к своему AWS учетных данных, а также судили жестко прописывать их. Как я пытаюсь загрузить данные очень просто,
Semih Cantürk
0

голосов
0

ответ
4

Просмотры

Использование Python Boto3 AWS Lambda, S3 Key LastModified возвращается в двух типов для двух различных способов

LastModified из данного ключа возвращается в двух различных форматах. Если хранить в переменной или непосредственно печати, он дает мне этот формат: 2019-04-17 11: 14: 11 + 00: 00 И если я пытаюсь сохранить его в качестве значения в Словаре, а затем распечатать его, он показывает в этом формате: { 'redshift_data_source / сетки / load.csv': datetime.datetime (2019, 4, 17, 11, 14, 11, tzinfo = tzlocal ())} Почему такое различие в форматах? Во-вторых, моя цель состоит в том, чтобы сохранить LastModified в файл и проверить каждый день, если LastModified файла изменилось или нет. Как я могу сделать это без загрузки .zip дополнительных библиотек? Я хочу что-то вроде этого (где должны поступать из файла, который я храню метаданные и б должны быть метаданные последней версии файла читать: а = datetime.datetime (2019, 4, 17, 11, 14, 11, tzinfo = tzlocal ( )) # вчера Ъ = datetime.datetime (2019, 4, 18, 05, 53, 19,
Aakash Basu
1

голосов
0

ответ
283

Просмотры

Почему Instagram не используя подписанные URL-адреса?

Я просто вмешиваются немного с API Instagram и заметил, что все ссылки СМИ (например, изображение / видео URL), которые указывают на fbcdn являются общедоступными. Я обычно стараюсь использовать подписанные URL-адреса для пользовательского контента и было интересно, почему Instagram, по-видимому, не выбирают, чтобы сделать это? Если они будут делать это, то URL-адрес, которые используются для отображения веб-страницы или приложений, например, может быть действительно только в течение нескольких минут, так что если кто-то должны собрать их (например, чтобы очистить пользовательские профили), они не будут доступны больше после этого? Я знаю, что это не является совершенным, но он чувствует, что, по крайней мере, дать Аспект неприкосновенность частной жизни немного больше вырез ...
Tim Specht
1

голосов
0

ответ
65

Просмотры

Ошибка осуществлять предварительный просмотр Amazon S3 закачано офисные файлы, используя офис онлайн

Мы загрузили несколько офисных файлов в нашей Amazon S3 ведро через наше приложение. Мы используем офис онлайн для просмотра файлов в браузере внутри фрейма из нашего приложения. Если ковш имеет служебный файл в поддиректории (например, «Test»), то предварительный просмотр работает должным образом. Но когда ковш подкаталог имеет имя окончания периода (например, «ABC Corp.»), офис предварительный говорит файл не найден. До сих пор мы не уверены, что нам нужно, чтобы избежать периода символа при создании подкаталога в Amazon S3 ведре или нужно сделать что-то другое при предварительном просмотре в офисе онлайн. Наш Javascript код отрезала для предварительного просмотра офисных файлов URL = «https://view.officeapps.live.com/op/view.aspx?src=» + encodeURIComponent (PreSignedURL); вар эль = document.createElement ( "IFrame"); iframe.appendChild (эль); elem.src = URL; elem.setAttribute ( "стиль", "ширина: 100%; высота: 90%; границы: нет; поле: 0; обивка: 0; переполнения: скрытый; г-индекс: 999999;"); Любая помощь или обратная связь приветствуется. Спасибо
ajexpress
1

голосов
1

ответ
617

Просмотры

Как получить докер приложение журналы в S3 ведро

Есть ли способ, чтобы поток / толкать журналы докер приложение к S3 ведра? Я знаю, следующий 2 способа настроить облако смотреть журналы / поток - Все журналы (как и информацию об ошибках журналы) становится слившимися в этом подходе Настройка graylogs2 нажать на каждое сообщение журнала и собирать, а затем нажать на S3 ведро - нужно поддерживать graylogs2 приложение. Я ищу любой простой способ подтолкнуть Docker приложение / ошибка журналы S3 Bucket Thanks
user1097437
1

голосов
0

ответ
70

Просмотры

AWS Не удалось выполнить «setRequestHeader» на «XMLHttpRequest» с Evaporate.js

Я использую испаряться (https://github.com/TTLabs/EvaporateJS), чтобы загрузить свои файлы на S3. Приложение в настройках Ви / Nuxt.js, и это мой конфиг: Const uploadApiConfig = {signerUrl: '/ апи / sign_auth', awsRegion: process.env.awsRegion, aws_key: process.env.awsKey, ведро: процесс. env.awsBucket, computeContentMd5: правда, awsSignatureVersion: '4', cryptoMd5Method: (данные) => {возвращать AWS.util.crypto.md5 (данные, 'base64')}, cryptoHexEncodedHash256: (данные) => {вернуть AWS. util.crypto.sha256 (данные, 'шестигранной')}, signHeaders: { 'авторизации': `Bearer $ {маркер}`}}, но до сих пор получить не удалось эту ошибку выполнить 'setRequestHeader' на 'XMLHttpRequest': «AWS4-HMAC -SHA256 Credential = ... / s3 / aws4_request, SignedHeaders = хост;
Lukas
1

голосов
1

ответ
429

Просмотры

Невозможно установить репликации Беговой области на S3 ведре с SSE

Я не в состоянии настройки репликации Cross области, когда объекты находятся на стороне сервера в зашифрованном виде. Я использую awscli, чтобы установить его. Это то, что я сделал. Роль репликации Cross области IAM политики выглядит следующим образом: { "Версия": "2012-10-17", "Заявление": [{ "Эффект": "Разрешить", "Действие": [ "s3: GetReplicationConfiguration", «s3 : ListBucket "], "Ресурс": [ "ARN: AWS: s3 ::: источник-ведро"]}, { "Эффект": "Разрешить", "Действие": [ "s3: GetObjectVersion"," s3: GetObjectVersionAcl », "s3: GetObjectVersionTagging"], "Ресурс": ------ Обновление ------- если я удалить правило, созданное кли и установить его с помощью консоли, он выбирает все КМС ключи в мастере. Таким образом, вопрос почему он не выбирает Kms ключей в исходном районе, когда я использую CLI? Что я здесь отсутствует?
Asdfg
1

голосов
1

ответ
253

Просмотры

How can Apache Spark history-server refer to Amazon S3?

[Версия] Apache Spark 2.2.0 Hadoop 2.7 Я хочу настроить сервер Apache Спарк histroy. Свечи Журнал событий находится в Amazon S3. Я могу сохранить файл войти S3, но не могу читать из истории сервера. Apache Spark установлен в / USR / местные / искры так, $ SPARK_HOME является / USR / местные / искрой $ кд / USR / местные / искровой / SBIN $ ш start-history-server.sh я получил следующее исключение ошибок в потоке "основной" java.lang.ClassNotFoundException: org.apache.hadoop.fs.s3a.S3AFileSystem в java.net.URLClassLoader.findClass (URLClassLoader.java:381) в java.lang.ClassLoader.loadClass (ClassLoader.java:424) на солнце. misc.Launcher $ AppClassLoader.loadClass (Launcher.java:335) в java.lang.ClassLoader.loadClass (ClassLoader.java:357) в java.lang.Class.forName0 (Native Method) в java.lang.Class.forName ( Class.java:348) в org.apache.spark.util.Utils $ .classForName (Utils.scala: 230) .... мой искровой defaults.conf ниже spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem spark.history.provider org.apache.hadoop.fs.s3a.S3AFileSystem spark.history.fs. logDirectory S3A: // XXXXXXXXXXXXX spark.eventLog.enabled верно spark.eventLog.dir S3A: // xxxxxxxxxxxxxxx Я установил это 2 фляги файлы в / USR / местные / искровым / банки / AWS-ява-СДК-1.7.4.jar Hadoop -aws-2.7.3.jar но ошибка та же. Что случилось?
Blue-Pixel
1

голосов
1

ответ
36

Просмотры

nodejs foreach not returning correct value

Я пытаюсь использовать эту функцию, чтобы получить некоторые общие счетчики из моих файлов войти s3, а затем добавить их к общему вернуться Название переменной. Но я не могу получить обратный вызов правильно. Я попытался обратного вызова в конце цикла Еогеасп, а также в «другой» в конце, но в любом случае totalRowCount всегда равен нулю BCZ операторы начинают выполняться сразу. Не уверен, что я делаю не так, спасибо за любую помощь. Функция getRowCount2 (маркер, PARAMS, обратный вызов) {вар totalRowCount = 0, TextDecoder = textEncoding.TextDecoder, г = 0; если (маркер) params.ContinuationToken = маркер; s3.listObjectsV2 (PARAMS, функция (ERR, данные) {я = data.Contents.length; data.Contents.forEach (функция (файл, индекс) {s3.getObject ({Ковш: params.Bucket, Key: file.Key }, функция (ERR, данные) {zlib.gunzip (data.Body, функция (ERR, результат) {вар extractedData = JSON.parse (новый TextDecoder ( "UTF-8") декодирования (результат).); totalRowCount = totalRowCount + ParseInt (extractedData.rowcount , 10);}); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. Gunzip (data.Body, функция (ERR, результат) {вар extractedData = JSON.parse (новый TextDecoder ( "UTF-8") декодирования (результат));. totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10);} ); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. Gunzip (data.Body, функция (ERR, результат) {вар extractedData = JSON.parse (новый TextDecoder ( "UTF-8") декодирования (результат));. totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10);} ); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. результат) {вар extractedData = JSON.parse (новый TextDecoder ( "UTF-8") декодирования (результат)). totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10); }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. результат) {вар extractedData = JSON.parse (новый TextDecoder ( "UTF-8") декодирования (результат)). totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10); }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. синтаксический анализ (новый TextDecoder ( "UTF-8") декодирование (результат).); totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10); }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. синтаксический анализ (новый TextDecoder ( "UTF-8") декодирование (результат).); totalRowCount = totalRowCount + ParseInt (extractedData.rowcount, 10); }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. }); если ((индекс + 1) == я) {console.log ( 'обратного вызова' + totalRowCount); вернуть обратный вызов ( '', totalRowCount); }}); }); если (data.IsTruncated) getRowCount2 (data.NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать. NextContinuationToken, PARAMS, обратный вызов); еще // возвращает обратный вызов ( '', totalRowCount); }); } GetRowCount2 ( '', Титулы, функция (ошибка, данные) {// проверить, равен ли (mycount == данные) {// Успех}}); Я раздел протоколирование и обработку ошибок, чтобы помочь читать.
Ron
1

голосов
0

ответ
409

Просмотры

Функция Lambda не вызывается, когда файл загружается в S3

Я занимаюсь разработкой веб-приложение, которое использует услуги сервиса от AWS. Я храню мои файлы на s3 ведро. То, что я пытаюсь сделать, когда я загрузить файл в ведро S3, я хочу лямбда-функция будет автоматически срабатывает, чтобы изменить размер изображения. Я создал функцию лямбды и протестировать его с помощью консоли. Это работает. Как вы можете видеть на скриншоте. Изображение фактически изменяется в ведре и создан как новый файл, а также. Тогда из приложения Laravel, я загрузить изображение, как это. $ PATH = $ request-> файл ( 'файл') -> магазин ( "путь", 's3'); Изображение загружается в s3 ведро. Но это событие не срабатывает, чтобы создать изменить его размер. Но почему она не работает? На самом деле, что лямбда-функция должна быть вызвана автоматически, когда объект создается в ведре. Но это не работает. Но функция работает, когда я запускаю его из консоли с помощью опции тестирования. Что такое возможная конфигурация мне не хватает, чтобы это заработало? Мне нужно вызвать эту функцию лямбды вручную в моем коде делать? Но это, как предполагается, запускается автоматически при загрузке файла. Это? Что может быть возможной проблемой? Это моя политика S3 Ковш: Вот моя конфигурация событий s3 ведра
Wai Yan Hein
1

голосов
0

ответ
163

Просмотры

fineuploader chunk signature v4

При попытке загрузить большой файл (фрагмент загрузки) в подписи v4 я получаю следующее сообщение об ошибке от AWS: SignatureDoesNotMatch Запрос подписи мы рассчитали не совпадает с подписью вы предоставили. Проверьте ключ и метод подписи. FineUploader заголовки: { "заголовки": "AWS4-HMAC-SHA256 \ n20180214T003940Z \ n20180214 / ес-запад 3 / s3 / aws4_request \ nPOST \ п / имя_папки / oovoosdk-android-2.3.0.113-1.zip \ nuploads = \ nhost: https: //test.s3.amazonaws.com \ ого-АМЗ-ACL: частный \ ого-АМЗ-контент sha256: e3b0c44298fc1c149c897ydu27sas88e56e4649b934ca495991b7852b855 \ ой-АМЗ-дата: 20180214T003940Z \ ого-АМЗ-мета-файл: oovoosdk- android-2.3.0.113-1.zip \ пх-АМЗ-мета-qqfilename: oovoosdk-android-2.3.0.113-1.zip \ п \ nhost; х-АМЗ-ACL; х-АМЗ-контента sha256; x- АМЗЫ-дата; х-АМЗ-мета-файл; х-АМЗ-мета-qqfilename \ ne3b0c44298fc1c149afbf4c8b92427ae41e464hd783a3dc752b855" } CanonicalRequest POST /foldername/oovoosdk-android-2.3.0.113-1.zip загрузки = хост: test.s3.amazonaws.com х-АМЗ-ПКС: частный х-АМЗ-контента sha256: e3b0c44298fc1c149c897ydu27sas88e56e4649b934ca495991b7852b855 х-АМЗ-дата: 20180214T010103Z х-АМЗ-мета-файла: oovoosdk-android-2.3.0.113-1.zip х-АМЗ-мета-qqfilename: oovoosdk-android-2.3.0.113-1.zip хозяина; х-АМЗ-х; ACL-АМЗ -поперечник-sha256; х-АМЗ-дата; х-АМЗ-мета-файла; х-АМЗ-мета-qqfilename e3b0c44298fc1c149afbf4c8b92427ae41e464hd783a3dc752b855 Non загрузки кусок работает нормально в подписи v4. v4 генерация кода подписи StringtoSign -> заголовки из тонкого загрузчика общественного статического Струнного getSignature (AWS_Key_Set__c awsKeySet, строка StringtoSign) {Строка HASH_ALGORITHM = 'SHA-256'; Строка MAC_ALGORITHM = 'HmacSHA256'; Строка SIGNATURE_VERSION = 'AWS4'; Строка SIGNATURE_ALGORITHM = ' AWS4-HMAC-SHA256' ; Строка SERVICENAME = 's3'; Datetime дт = Datetime.now (); Строка область = 'ес-запад-3'; Строка todayDate = dt.formatGmt ( 'YYyyMmDd'); Строка Теперь = todayDate + T '+ dt.formatGmt ( 'ЧЧММСС') + 'Z'; Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } Строка SERVICENAME = 's3'; Datetime дт = Datetime.now (); Строка область = 'ес-запад-3'; Строка todayDate = dt.formatGmt ( 'YYyyMmDd'); Строка Теперь = todayDate + T '+ dt.formatGmt ( 'ЧЧММСС') + 'Z'; Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } Строка SERVICENAME = 's3'; Datetime дт = Datetime.now (); Строка область = 'ес-запад-3'; Строка todayDate = dt.formatGmt ( 'YYyyMmDd'); Строка Теперь = todayDate + T '+ dt.formatGmt ( 'ЧЧММСС') + 'Z'; Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } ес-запад-3' ; Строка todayDate = dt.formatGmt ( 'YYyyMmDd'); Строка Теперь = todayDate + T '+ dt.formatGmt ( 'ЧЧММСС') + 'Z'; Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } ес-запад-3' ; Строка todayDate = dt.formatGmt ( 'YYyyMmDd'); Строка Теперь = todayDate + T '+ dt.formatGmt ( 'ЧЧММСС') + 'Z'; Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } Blob = Crypto.generateMac ключевой даты (MAC_ALGORITHM, Blob.valueOf (todayDate), Blob.valueof (SIGNATURE_VERSION + awsKeySet.AWS_Secret_Key__c)); Blob keyRegion = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (область), ключевая дата); Blob keyService = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (serviceName.toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); } toLowerCase ()), keyRegion); Blob keyCredentials = Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf ( 'aws4_request'), keyService); вернуть EncodingUtil.convertToHex (Crypto.generateMac (MAC_ALGORITHM, Blob.valueOf (StringtoSign), keyCredentials)); }
DineshKumar Rajasekar
1

голосов
0

ответ
226

Просмотры

GPG Расшифровать Кусок из потока

Я пытаюсь транслировать несколько крупных симметрично зашифрованы .csv.gpg (40GB + каждый) файлы из S3 в GnuPG в выходной поток. Я хотел бы, чтобы обработать файлы на куски, используя потоки, так что мы никогда не должны загрузить всю зашифрованную / расшифрованный файл на диске или в памяти. Вот пример использования AWS S3 на Ruby SDK для загрузки глыбы объекта и передать их в GnuPG для дешифрования, используя рубин 2.5.0 с рубиново-gpgme камень. крипто = GPGME :: Crypto.new s3_client.get_object (ведро: ВЕДРО, ключ: KEY) делать | кусок | crypto.decrypt (фрагмент, пароль: ПАРОЛЬ, выход: $ STDOUT) конец При выполнении этого, я вижу, действителен расшифрованы данные CSV в STDOUT (хорошо!) до тех пор, пока не удается в конце первого фрагмента: ~ / .rvm / драгоценных камней /ruby-2.5.0/gems/gpgme-2.0.14/lib/gpgme/ctx.rb:435:in `decrypt_verify ': дешифрование не удалось (GPGME :: Ошибка :: DecryptFailed) Это где я застрял. Может GNUPG расшифровать куски в то время, или он должен прочитать весь файл, прежде чем писать вывод? Есть куски должны быть определенного размера и / или ограничен каким-то образом? Любая обратная связь будет принята с благодарностью.
doremi
1

голосов
1

ответ
107

Просмотры

Получение S3_REGION для AWS S3 загрузки изображений в Golang

Я хотел, чтобы загрузить изображение в AWS s3. Const (S3_REGION = "" S3_BUCKET = "") FUNC основной () {// Создать одну сессию AWS (мы можем повторно использовать это, если мы загружая много файлов) s, эээ: = session.NewSession (& aws.Config { Регион:! aws.String (S3_REGION)}), если допустить ошибку = ноль {log.Fatal (ERR)} // Загрузить ERR = AddFileToS3 (s, "Result.csv"), если допустить ошибку = ноль {log.Fatal (ERR) }} Я застрял здесь. Где я могу получить S3_REGION в соответствии с этим стандартом кода? Источник: https://golangcode.com/uploading-a-file-to-s3/
arundeepak
1

голосов
1

ответ
150

Просмотры

Delay when creating S3 bucket and accessing it from ec2

Ошибка клиента (AccessDenied) при вызове операции ListObjects произошло: не было представлено никаких AWSAccessKey. Теперь я прочитал здесь: https://forums.aws.amazon.com/thread.jspa?messageID=801522, что есть некоторая задержка распространения до ec2 может открыть ведро, но это было в течение часа. любые мысли, что это не так, или сколько времени мне нужно ждать? Я не хочу, чтобы сделать ведро доступны публично. Только с этой конкретной ec2 примерно через два часа он начал работать, без каких-либо изменений. Есть ли обходной путь, чтобы уменьшить это время? ы уже в течение часа. любые мысли, что это не так, или сколько времени мне нужно ждать? Я не хочу, чтобы сделать ведро доступны публично. Только с этой конкретной ec2 примерно через два часа он начал работать, без каких-либо изменений. Есть ли обходной путь, чтобы уменьшить это время? ы уже в течение часа. любые мысли, что это не так, или сколько времени мне нужно ждать? Я не хочу, чтобы сделать ведро доступны публично. Только с этой конкретной ec2 примерно через два часа он начал работать, без каких-либо изменений. Есть ли обходной путь, чтобы уменьшить это время?
Noam Mansur
1

голосов
0

ответ
97

Просмотры

Как читать секционированной файл с помощью org.apache.spark.sql.json?

У меня есть таблица с более чем 400000 Перегородками в AWS ОГО. Данные находятся на AWS S3. Здесь каждый раздел представляет собой каталог с 1 GZ-файл, который хранит массив JSON. Так что я пытаюсь использовать org.apache.spark.sql.json для создания таблицы в надежде, что он будет автоматически анализировать массив, и я могу извлечь данные легко. Но следующие команды не удается. У меня есть data.json.gz или data.json файлы в s3: // мой / тест / данные / раздел = 1987 CREATE TABLE `testtable` (` jsonArrData` STRING, `partitionKey` INT) ИСПОЛЬЗОВАНИЕ org.apache.spark. sql.json PARTITIONED BY ( `partitionKey`) МЕСТОНАХОЖДЕНИЕ 's3: // мой / тест / данные /'; msck ремонт стол TESTTABLE;
user 923227
1

голосов
0

ответ
204

Просмотры

Подпись Генерация ключа для AWS S3 HTTP Post

У меня возникают проблемы, порождающие действительный ключ подписи для ведения HTTP Post в browser- я получаю ошибки, подобные запроса подписи мы вычислили не совпадает с подписью вы предоставили. Проверьте метод ключей и подписи и так, что мне не говорит ничего особенного о том, где проблема лежит, я решил отладить, если мой метод расчета подписи является правильным. Поэтому я решил повторить пример в документации с помощью данной строки подписать и ключ доступа Secret. Моя генерироваться подпись не совпадает с подписью, указанную на странице документации. Что я делаю неправильно здесь? Ниже мой существующий код (я использую AWS Подпись V4) частная пустота debugSignatureGeneration () бросает исключение {байт [] testSigningKey = getSigningKey ( "wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY", "20151229", "Мы-восток-1", "s3"); Строка testStringToSign = " байт [] kDate = HmacSHA256 (DATESTAMP, kSecret); байт [] kRegion = HmacSHA256 (regionName, kDate); байт [] kService = HmacSHA256 (ServiceName, kRegion); байт [] kSigning = HmacSHA256 ( "aws4_request", kService); вернуться kSigning; } Если это поможет, то подпись, которая приводится в документации 46503978d3596de22955b4b18d6dfb1d54e8c5958727d5bdcd02cc1119c60fc9 в то время как подпись я могу получить это 8afdbf4008c03f22c2cd3cdb72e4afbb1f6a588f3255ac628749a66d7f09699e
HopeKing
1

голосов
0

ответ
324

Просмотры

CloudFormation S3 BucketEncryption свойства прерывистой неудача

Я развертывание стека CloudFormation с AWS :: S3 :: Bucket ресурсом, который был неисправным с перерывами с тех пор я добавил свойство BucketEncryption. Ошибки я получаю следующим образом: 9:27:53 UTC-0500 CREATE_FAILED AWS :: S3 :: Ковш S3Bucket Конфликтующий условная операция выполняется в настоящее время против этого ресурса. Пожалуйста, попробуйте еще раз. 9:27:52 UTC-0500 CREATE_IN_PROGRESS AWS :: S3 :: Ковш S3Bucket Ресурсный создание Начатый 9:27:51 UTC-0500 CREATE_IN_PROGRESS AWS :: S3 :: Ковш S3Bucket Обратите внимание, как ошибка происходит через 1 секунду после создания ковша. Своего рода асинхронной и / или Boto вопрос может быть? Вот мой соответствующий код CloudFormation: Ресурсы: S3Bucket: Тип: AWS :: S3 :: Ковш DeletionPolicy: Удалить Свойства: BucketEncryption: ServerSideEncryptionConfiguration: - ServerSideEncryptionByDefault: KMSMasterKeyID: Если - KmsUsed - Если - KmsKeyUsed - Ref KmsKeyId - Ref "AWS :: NoValue" - Ссылка "AWS :: NoValue" SSEAlgorithm:!!!!! Ссылка SSEAlgorithm Это работал с КМС и AES256, но это, кажется, не в состоянии полностью случайным образом. Кто-нибудь знает, что основная проблема и / или решение может быть? Заранее спасибо! Ссылка SSEAlgorithm Это работает с КМС и AES256, но это, кажется, не в состоянии полностью случайным образом. Кто-нибудь знает, что основная проблема и / или решение может быть? Заранее спасибо! Ссылка SSEAlgorithm Это работает с КМС и AES256, но это, кажется, не в состоянии полностью случайным образом. Кто-нибудь знает, что основная проблема и / или решение может быть? Заранее спасибо!
D Swartz
1

голосов
1

ответ
123

Просмотры

AWS Lambda with Java unable to GET a file from S3

Я создаю очень простой пример с AWS Lambda и у меня есть проблемы с помощью Java Runtime. Я должен прочитать объект S3 из ведра шахты и с примером NodeJS как следующий у меня нет проблем вара S3FS = не требуется ( «s3fs»); exports.handler = (REQ, Res) => {вар s3Options = {регион: 'ес-запад-3', accessKeyId: 'ключ', secretAccessKey: 'секрет'}; вар fsImpl = новые S3 ( 'mybucket', s3Options); fsImpl.readFile ( "MyFile", функция (ERR, данные) {если (ERR) бросок ERR; console.log (data.toString ());}); } Если я пытаюсь аналогичный пример Java моя функция всегда TimeOuts (даже если я увеличиваю до 1 минуты) context.getLogger () журнал ( «До»). BasicAWSCredentials awsCreds = новые BasicAWSCredentials ( "ключ", "секретно"); AmazonS3 s3 = AmazonS3ClientBuilder.standard () .withRegion ( "ес-запад-3") .withCredentials (новый AWSStaticCredentialsProvider (awsCreds)) .build (); . Context.getLogger () журнал ( "клиент создан"); Объект S3Object = s3.getObject (новый GetObjectRequest (bucketName, ключ)); . Context.getLogger () войти ( "После"); Функция всегда блокирует при создании клиента S3. Я знаю, что можно избежать с помощью ключа и секрета в Lambda, но и в этом случае функциональные блоки. Это не проблема, потому что политика Я проверяю эти примеры из той же конфигурации лямбда, так что я думаю, что это что-то связано с API Java AWS S3. Какие-либо предложения? построить (); . Context.getLogger () журнал ( "клиент создан"); Объект S3Object = s3.getObject (новый GetObjectRequest (bucketName, ключ)); . Context.getLogger () войти ( "После"); Функция всегда блокирует при создании клиента S3. Я знаю, что можно избежать с помощью ключа и секрета в Lambda, но и в этом случае функциональные блоки. Это не проблема, потому что политика Я проверяю эти примеры из той же конфигурации лямбда, так что я думаю, что это что-то связано с API Java AWS S3. Какие-либо предложения? построить (); . Context.getLogger () журнал ( "клиент создан"); Объект S3Object = s3.getObject (новый GetObjectRequest (bucketName, ключ)); . Context.getLogger () войти ( "После"); Функция всегда блокирует при создании клиента S3. Я знаю, что можно избежать с помощью ключа и секрета в Lambda, но и в этом случае функциональные блоки. Это не проблема, потому что политика Я проверяю эти примеры из той же конфигурации лямбда, так что я думаю, что это что-то связано с API Java AWS S3. Какие-либо предложения? но и в этом случае функциональных блоков. Это не проблема, потому что политика Я проверяю эти примеры из той же конфигурации лямбда, так что я думаю, что это что-то связано с API Java AWS S3. Какие-либо предложения? но и в этом случае функциональных блоков. Это не проблема, потому что политика Я проверяю эти примеры из той же конфигурации лямбда, так что я думаю, что это что-то связано с API Java AWS S3. Какие-либо предложения?
Federico Paparoni
1

голосов
0

ответ
34

Просмотры

Как справиться с zipfiles, присутствующие в s3, которые фактически возвращаются размер как -1, используя ZipEntry?

В моем случае, ZipFile в S3 ведро, и мы пытаемся получить размер несжатого его с помощью ZipInputStream и его размер, как entry.getSize (), которая фактически возвращается -1. Я гугл и нашел использовать ZipFile, Перечень и zipfile.entries () ответ, но как я должен пройти свой путь s3 архива ниже. ZipFile ZipFile = новый ZipFile ( "??????"); Любой другой способ получить размер несжатого правильно? Пожалуйста помоги. Благодарю.
praveen
1

голосов
1

ответ
656

Просмотры

Как использовать Python для загрузки файла S3 по ссылке с подписью и выдохом?

У меня есть ссылка s3 предоставленную мне третьей стороной со следующей структурой: http://s3.amazonaws.com/bucket_name_possibly/path/to/file_possibly/filename?AWSAccessKeyId=SomeKey&Expires=888888&Signature=SomeCharactersPossiblyHTMLencoded нажав на ссылку Загрузки файл для меня. Однако, в питона, когда я пытаюсь использовать urllib.request.urlretrieve (link_string) по ссылке, которую я получаю ошибку HTTP Error 403: Forbidden Я также попытался с помощью boto3 и разбора вручную вне bucket_name, ключ, AWSAccessKeyID, а также подпись (рассматривая его как AWSSecretAccessKey - Я знаю, что это, вероятно, неправильно). Я установки клиента с учетными данными и попытаться запустить метод get_object. Нечто подобное ниже: клиент = boto3.client ( 's3', aws_access_key_id = 'AWSACCESSKEY', aws_secret_access_key =» SomeCharactersPossiblyHTMLencoded», конфиг = Config (signature_version = 's3v4') # пытался с / без этой опции) client.get_object (Bucket = 'bucket_name_possibly', Key = 'путь / к / file_possibly / имя_файла') Полученная ошибка произошла ошибка (SignatureDoesNotMatch) при вызове операции GetObject: запрос подписи мы рассчитали не соответствует подписи вы предоставили. Проверьте ключ и метод подписи. Я застрял, как я могу получить питон программно загрузить ссылку? Подпись запроса мы рассчитали не совпадает с подписью вы предоставили. Проверьте ключ и метод подписи. Я застрял, как я могу получить питон программно загрузить ссылку? Подпись запроса мы рассчитали не совпадает с подписью вы предоставили. Проверьте ключ и метод подписи. Я застрял, как я могу получить питон программно загрузить ссылку?
user3776598
1

голосов
1

ответ
1.8k

Просмотры

Чтение данных из файла AWS s3 pyspark

У меня есть файл JSon помещен в s3. S3 URL похож на один ниже: https://s3-eu-region-1.amazonaws.com/dir-resources/sample.json Но в pyspark, когда проходят то же самое, он не читает файл. путь = «https://s3-eu-region-1.amazonaws.com/dir-resources/sample.json» ДФ = spark.read.json (путь) Но я могу загрузить его через браузер.
Tom J Muthirenthi
1

голосов
0

ответ
888

Просмотры

Призовите AWS Lambda из PHP с Params

Я пытаюсь создать функцию Lambda, которая будет создавать пустое изображение с размерами передаваемых из PHP-файла. Так как я новичок в AWS я начал с тестовой функцией, которые не участвуют никаких параметров, только что создал пустую 200x300 изображения: «использовать строгие»; Const HTTP = требуется ( 'HTTP'); константные HTTPS = требуется ( 'HTTPS'); Const QueryString = требуется ( '') строку запроса; константное AWS = требуется ( 'AWS-SDK'); S3 = Const новый AWS.S3 ({signatureVersion: 'v4',}); Const = Sharp требует ( 'острого'); // установить S3 и API GW конечных точки константного ВЕДРО = 'MY_BUCKET_ID'; exports.handler = (событие, контекст, обратный вызов) => {пусть запрос = event.Records [0] .cf.request; Sharp ({создания: {ширина: 300, высота: 200, каналы: 4, фон: {г: 255, г: 0, B: 0, альфа: Значение: 'изображение / PNG'}]; обратный вызов (нуль, ответ); }) // получить файл .catch источник изображения (ERR => {console.log ( "Исключение при чтении исходного изображения:% J", ERR);}); }; Я побежал это с помощью функции тестирования в панели Lambda и увидел, что мой test.png показать в моем S3 ведро. Так что следующий шаг вызова из PHP. Я добавил эту линию к моей лямбде, что я получил от другого учебника, чтобы захватить запрос для того, чтобы разобрать строку запроса и такой: пусть запрос = event.Records [0] .cf.request; Тогда в моем PHP я добавил: требуется «../vendor/autoload.php»; $ BucketName = 'MY_BUCKET_ID'; $ IAM_KEY = 'MY_KEY'; $ IAM_SECRET = 'MY_SECRET_ID'; использовать Aws \ Lambda \ LambdaClient; $ Клиент = LambdaClient :: завод (массив ( 'полномочия' => Array ( 'ключ' => $ IAM_KEY, 'секрет' => $ IAM_SECRET), 'версия' => 'последнее', 'область' => 'мы-восток-1')); $ Результат = $ client-> ссылаться ([// имя вашего созданного Lamda функция 'FunctionName' => 'PlaceHolder']); эхо json_decode ((строка) $ result-> Get ( 'Payload')); Где «PlaceHolder» правильное название моей лямбда-функции. Эхо в PHP возвращает: «Catchable фатальная ошибка: Объект класса StdClass не может быть преобразован в строку», и если я пытаюсь запустить функциональность тест на Lambda снова я получаю: TypeError: Не удается прочитать свойство «0» неопределенных на exports.handler (/var/task/index.js:17:30) Ссылаясь на вновь добавленную строку запроса. Так что мой вопрос, как я успешно вызвать эту функцию Lambda из PHP и получить запрос от запроса PHP в Lambda? EDIT: Я echo'd $ результат в целом, а не Payload это результат { "Payload": {}, "StatusCode": 200, "FunctionError": "Неизвестное", "LogResult": "", "ExecutedVersion" : "$ НОВЕЙШИЕ", "@metadata": { "StatusCode": 200, "effectiveUri": «HTTPS: \ / \ / lambda.us-east-1.amazonaws.com \ / \ / 2015-03-31 функции \ / \ / PlaceHolder вызовы», "заголовки": { "дата": "чт, 15 марта 2018 22:01:34 GMT", "content-type": "Приложение \ / JSON", "Content-Length": "107", "соединение": "близко", "
DasBeasto
1

голосов
1

ответ
236

Просмотры

presigned пост в boto3 такой же, как на основе поста-браузере с остальной частью calulucation сервера апи подписи?

в течение последних 3-х дней, которые я пытался вручную подписать restapi поста звонков из браузера пользователя. Мне не удалось. Я по-прежнему получаю сообщение об ошибке несоответствия подписи: Так что теперь я собираюсь попробовать boto3. Boto3, кажется, используется, когда вы загружаете файл на сервер затем отправить его в Амазонке. Я предпочел бы сделать на основе браузера пост. Я читаю документацию из boto3 на presigned сообщений и я не уверен. Является ли на основе пост-браузер так же, как presigned пост в Бото 3? http://boto3.readthedocs.io/en/latest/guide/s3.html#generating-presigned-posts
1

голосов
0

ответ
62

Просмотры

Как скрыть ключ доступа при обслуживании HTML от был s3?

У меня есть сайт, который подается от был s3. Сайт делает запрос Ajax поста к шлюзу API, когда пользователь заполняет контактную форму и ударяется кнопка отправки. Для апи я планирую сделать ограниченный с ключом доступа. Где я должен поставить ключ доступа, поэтому она не подвергается? Был бы признателен за подробные ответы.
user1305579
1

голосов
0

ответ
213

Просмотры

Amazon Rekognition API - IndexFaces prompting an error for external image id - When 'externalImageId' has folder structure in it

Я пытаюсь вызвать IndexFaces API, но получаю сообщение об ошибке: * «исключение»: «com.amazonaws.services.rekognition.model.AmazonRekognitionException», «сообщение»: «Обнаружена ошибка 1 проверки: Значение«почтальон / postworld / postman_female.jpg 'в 'externalImageId' не удовлетворяло ограничения: члены должны удовлетворять шаблон регулярного выражения: [A-Za-z0-9 _ \\ -:.] + (Service: AmazonRekognition; Статус код: 400; Код ошибки: ValidationException; Запрос ID: 3ac46c4d-3358-11e8-abd5-d5fb3ad03e33)»,„путь“:„/ enrolluser“* Я был в состоянии загрузить файл успешно в S3, используя так называемую„структуру папок“в S3. Но когда я пытаюсь читать тот же файл для IndexFaces, то это вызвало ошибку, связанную с éxternalImageId. Вот снимок из S3 моего загруженного файла: http://xxxxxx.s3.amazonaws.com/postman/postworld/postman_automated.jpg Если избавиться от структуры папок и непосредственно дамп файла, например: HTTP: // xxxxxx.s3.amazonaws.com/postman_automated.jpg то IndexFaces API успешно проходит его. Можете ли вы подсказать, как пройти externalImageId, когда у меня есть «структура папок»? В настоящее время я пропускание externalImageId через мой код Java, как: enrolledFileName = имя_пользователь + "/" + myWorldName + "/" + enrolledFileName; System.out.println ( "The FILE NAME манипулируют IS:" + enrolledFileName); Строка generateAmazonFaceId = amazonRekognitionManagerObj.addToCollectionForEnrollment (CollectionName, bucketName, enrolledFileName); System.out.println ( "сгенерированная FaceId является:" + generateAmazonFaceId); ** сильный текст ** Над кодом внутри вызовов: Изображение Изображение = новое изображение () withS3Object (новый S3Object () withBucket (bucketName) .withName (Filename).);. IndexFacesRequest indexFacesRequest = новый IndexFacesRequest () .withImage (изображение) .withCollectionId (CollectionName) .withExternalImageId (Filename) .withDetectionAttributes ( "ALL");
user9538876
1

голосов
1

ответ
312

Просмотры

AWS .NET Ядро Лямбда - изображение Загрузить Сломанный

Я нахожусь в процессе создания Web API с AWS Lambda с использованием .NET Core. Я столкнулся с проблемой, когда кусок кода ниже работы, как и ожидалось на моей машине Windows, (ECHO изображение обратно), но при развертывании на AWS Lambda, возвращенное изображение нарушается. После дальнейшего исследования, размер отражаемых обратно файла почти в два раза размер отправки файла при развертывании на AWS? [HttpPost] общественности асинхронной Task Post (IFormFile файл) {используя (вар tmpStream = новый MemoryStream ()) {ждут file.CopyToAsync (tmpStream); вар FileExtension = Path.GetExtension (file.FileName); вернуть файл (tmpStream.ToArray (), file.ContentType); }} Я пропускаю некоторые конфигурации или с видом на что-то? AWS шлюз ?? (Я тестирую вопрос через Postman)
SOK
1

голосов
1

ответ
221

Просмотры

UserData giving timeout error while accessing s3 bucket

Я пытаюсь получить доступ к объекту из S3 общественного ведря, но я получаю ниже ошибок при выполнении моего Cfn-инициализации вспомогательного скрипта: ConnectionError Traceback (самый последний вызов последнего): Файл «cfnbootstrap \ util.pyc», строка 162, в _retry File «cfnbootstrap \ util.pyc», строка 234, в _timeout ConnectionError: ( «прервано подключение» ошибка (10060, «попытка подключения не удалась, поскольку подключенная сторона не ответила после определенного периода времени, или установить соединение не удалось, так как подключенный хозяин не смог ответить "))„Я могу получить доступ ведра S3, если я RDP экземпляра и изменить настройки прокси-сервера в браузере Ниже мой код:. „Ресурсы“: { „WebServer“: { „Тип“:“AWS: : EC2 :: Instance " "Метаданные": {" AWS :: CloudFormation ::Аутентификация ": { "S3AccessCreds": { "типа": "S3", "RoleName": "сидеть-тест-пользователь", "ковши": [" сидеть-тест-ведро "]}}," AWS :: CloudFormation :: Init ": { "конфигурации": { "источники": { "C: \\ S3 \\ хххх": "https://s3-ap-southeast-2.amazonaws.com/xxxxxxx/xxxxxx.ps1" }}}}, "UserData": { "Fn :: Base64": { "Fn :: Join": [ "" [ "\ п", "НКС-init.exe -s", {»Ссылка ": "AWS :: StackId"}, "-r WebServer --region", { "Ссылка": "AWS :: Регион"}," --http-прокси HTTP: //proxy.aws.xxxxxx.local : 8080 \ п», "\ п"]]}}
14578446
1

голосов
0

ответ
293

Просмотры

Как решить java.lang.NoSuchMethodError ошибки: com.amazonaws.SDKGlobalConfiguration.isInRegionOptimizedModeEnabled () Z?

Я пытаюсь загрузить файл в S3 и получаю сообщение об ошибке, как Target исключение: java.lang.NoSuchMethodError: com.amazonaws.SDKGlobalConfiguration.isInRegionOptimizedModeEnabled () Z код является строка Accesskey = «Accesskey»; Строка SecretKey = "mysecretkey" AWSCredentials полномочия = новые BasicAWSCredentials (Accesskey, SecretKey); AmazonS3 сопп = новый AmazonS3Client (полномочия); В строке AmazonS3 свя = новый AmazonS3Client (полномочия); Я получаю исключение цели. Полностью я импортировал эти много пакетов Java показывает ниже. все еще получаю ту же ошибку. импорт java.io.File; импорт java.io.IOException; импорт java.io.ByteArrayInputStream; импорт java.io.File; импорт java.util.List; импорт com.amazonaws.auth *. импорт com.amazonaws.auth.AWSCredentials; импорт com.amazonaws.auth.BasicAWSCredentials; импорт ком. amazonaws.util.StringUtils; импорт com.amazonaws.services.s3.AmazonS3; импорт com.amazonaws.services.s3.AmazonS3Client; импорт com.amazonaws.SDKGlobalConfiguration; импорт com.amazonaws.services.s3.model.Bucket; импорт com.amazonaws.services.s3.model.CannedAccessControlList; импорт com.amazonaws.services.s3.model.GeneratePresignedUrlRequest; импорт com.amazonaws.services.s3.model.GetObjectRequest; импорт com.amazonaws.services.s3.model.ObjectListing; импорт com.amazonaws.services.s3.model.ObjectMetadata; импорт com.amazonaws.services.s3.model.S3ObjectSummary; импорт com.amazonaws.services.s3 *. импорт com.amazonaws.services.s3.AmazonS3ClientBuilder; импорт com.amazonaws.services.s3.AmazonS3Builder; импорт com.amazonaws.services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.AmazonS3ClientBuilder; импорт com.amazonaws. ClientConfigurationFactory; импорт com.amazonaws.annotation.NotThreadSafe; импорт com.amazonaws.annotation.SdkTestInternalApi; импорт com.amazonaws.client.AwsSyncClientParams; импорт com.amazonaws.internal.SdkFunction; импорт com.amazonaws.regions.AwsRegionProvider; импорт com.amazonaws.ClientConfiguration; импорт com.amazonaws.Protocol; импорт com.amazonaws.AmazonS3Client; импорт com.amazonaws.AmazonClientException; импорт com.amazonaws.AmazonServiceException; импорт com.amazonaws.auth.profile.ProfileCredentialsProvider; импорт com.amazonaws.services.s3.AmazonS3; импорт com.amazonaws.services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.model.PutObjectRequest; SdkFunction; импорт com.amazonaws.regions.AwsRegionProvider; импорт com.amazonaws.ClientConfiguration; импорт com.amazonaws.Protocol; импорт com.amazonaws.AmazonS3Client; импорт com.amazonaws.AmazonClientException; импорт com.amazonaws.AmazonServiceException; импорт com.amazonaws.auth.profile.ProfileCredentialsProvider; импорт com.amazonaws.services.s3.AmazonS3; импорт com.amazonaws.services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.model.PutObjectRequest; SdkFunction; импорт com.amazonaws.regions.AwsRegionProvider; импорт com.amazonaws.ClientConfiguration; импорт com.amazonaws.Protocol; импорт com.amazonaws.AmazonS3Client; импорт com.amazonaws.AmazonClientException; импорт com.amazonaws.AmazonServiceException; импорт com.amazonaws.auth.profile.ProfileCredentialsProvider; импорт com.amazonaws.services.s3.AmazonS3; импорт com.amazonaws.services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.model.PutObjectRequest; services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.model.PutObjectRequest; services.s3.AmazonS3Client; импорт com.amazonaws.services.s3.model.PutObjectRequest;
Deepak N
1

голосов
0

ответ
36

Просмотры

s3 амазонка URL перенаправления на страницу загрузки

Я пытаюсь построить небольшой плагин для WordPress, который принимает URL в шорткоде и перенаправить его на странице загрузки и загрузить файл через 2 секунды. Я поставил s3 разрешения ковшеобразных как частная и настройки политики для доступа моего текущего домена. Теперь проблема заключается в том, что, когда я использую нормальный якорный текст на сайте он позволяет мне загрузить файл. Но использование шорткода это говорит разрешение отрицало AccessDenied Access Denied 69F2DE3C8C3ADC79 pOY7yAtY + o2d + 0IFd1zJKyJUGfK3fvOig58lU7heJcR / CyF2Xdxa5VXGy2ZcRTf9g0iyVAMNpKA = Но его работа без редиректа с помощью якорного текста. Вот код для мета обновления. если (Исеть ($ _ POST [ 'file_id'])) {$ fullurl = $ _POST [ 'file_id']; } Заголовка ( "Content-Type: применение / х-msdownload"); заголовок ( "Content-Disposition: вложение; имя файла = '$ fullurl.."); ReadFile ($ fullurl);
Usman Khalid
1

голосов
0

ответ
24

Просмотры

Amazon S3 Ковш: Не в состоянии загрузить данные на конкретный S3 ведро

Проблема я столкнулся в том, что у меня есть задача для загрузки изображений, видео, аудио и файлы в формате PDF в ведро S3. Этот код находится в моей деятельности: S3Credentials s3Credentials = новые S3Credentials (ACCESS_KEY, secret_key, ""); S3BucketData s3BucketData = новый S3BucketData.Builder () .setCredentials (s3Credentials) .setBucket (ведро) .setKey (uploadToS3.getName ()) .setRegion ( "мы-запад-2") .build (); S3UploadService.upload (MainActivity.this, s3BucketData, uploadToS3, ложь); Следующий код используется для загрузки данных в S3 ведро: если (намерение == NULL) возвращение; окончательное решение String = intent.getAction (); если возвращение (ACTION_UPLOAD.equals (действие)!); S3BucketData s3BucketData = (S3BucketData) intent.getSerializableExtra (EXTRA_S3_BUCKET_DATA); Файл File = (Файл) intent.getSerializableExtra (EXTRA_FILE); булево deleteFileAfter = intent.getBooleanExtra (EXTRA_DELETE_FILE, правда); S3Callback s3Callback = (S3Callback) intent.getSerializableExtra (EXTRA_S3_CALLBACK); handleUpload (s3BucketData, файл, deleteFileAfter, s3Callback); частная пустота handleUpload (S3BucketData s3BucketData, файл Файл, булево deleteFileAfter, S3Callback s3Callback) {TransferManager transferManager = setUpAmazonClient (s3BucketData); Запрос PutObjectRequest = buildPor (s3BucketData, файл deleteFileAfter); AccessControlList = новый ACL AccessControlList (); acl.grantPermission (GroupGrantee.AllUsers, Permission.Read); acl.grantPermission (GroupGrantee.AllUsers, Permission.Write); request.withAccessControlList (ACL); Загрузить Загрузить = transferManager.upload (запрос); попробуйте {upload.waitForCompletion (); } Задвижка (InterruptedException е) {e.printStackTrace (); } Задвижка (AmazonS3Exception S3E) {// Возможный Bad Digest. Retry, если (VERBOSE) {Log.w (TAG, "AmazonS3Exception попытку.."); Log.d (TAG, s3e.toString ()); }} Если (s3Callback == NULL) возвращение; Намерение Намерение = новый Намерение (s3Callback.getActionCallback ()); intent.putExtra (EXTRA_SERIALIZABLE, s3Callback.getExtra ()); sendBroadcast (намерение); } Частная TransferManager setUpAmazonClient (S3BucketData s3BucketData) {System.setProperty (GetString (R.string.s3_system_property), "истинный"); S3Credentials s3Credentials = s3BucketData.getS3Credentials (); BasicAWSCredentials basicSessionCredentials = новые BasicAWSCredentials (s3Credentials. GetAccessKey (), s3Credentials.getSecretKey ()); ClientConfiguration s3Config = новый ClientConfiguration (); s3Config.setSocketTimeout (600000); AmazonS3Client s3Client = новый AmazonS3Client (basicSessionCredentials, s3Config); TransferManager transferManager = новый TransferManager (s3Client); Регион регион = Region.getRegion (Regions.fromName (s3BucketData.getRegion ())); . TransferManager.getAmazonS3Client () setRegion (область); вернуться transferManager; } Частная PutObjectRequest buildPor (S3BucketData s3BucketData, конечный файл файл, окончательное логическое deleteFileAfter) {окончательного Струнное ведро = s3BucketData.getBucket (); Окончательный ключ String = s3BucketData.getKey (); Окончательный PutObjectRequest Por = новый PutObjectRequest (ведро, ключ, файл); оплата по возвращении длина () / 1000,0; двойная uploadDuration = uploadDurationMillis; двойная uploadSpeed ​​= bytesPerSecond / 1000,0; Log.i (TAG, String.Format (S3UploadService.this.getString (R.string.s3_format_uploaded), FileSize, uploadDuration, uploadSpeed)); } Если (deleteFileAfter) {file.delete (); }} Иначе, если (progressEvent.getEventCode () == ProgressEvent.FAILED_EVENT_CODE) {если (VERBOSE) Log.e (TAG, String.Format (S3UploadService.this.getString (R.string.s3_format_upload_failed), URL)); }} Улов (Исключение excp) {если (VERBOSE) Log.e (TAG, "ошибка ProgressListener"); excp.printStackTrace (); }}}); por.setCannedAcl (CannedAccessControlList.PublicRead); вернуться ПОР; } Государственной статической силы setVerbose (булево многословным) {S3UploadService.VERBOSE = многословным; } Я могу загрузить данные в двух моих S3 ведра с использованием выше кода. Но, есть одно ведро, в котором я получаю следующее сообщение об ошибке при попытке загрузить данные:. «Ковш вы пытаетесь получить доступ, должны быть решены с помощью указанной конечной точки Просьба направлять все будущие запросы на эту конечную точку (Service:. Amazon S3 ; Код состояния: 301; Код ошибки: PermanentRedirect; Request ID: 69D73B8CE65BE315), S3 Extended Request ID: 54FOeNuCsR / QZxV19vcAi9RCEyNkbxuIGt5xDi8QjsZw17qwsenRF1mqZUSX3LJF1ThydZJVxIM =» } Государственной статической силы setVerbose (булево многословным) {S3UploadService.VERBOSE = многословным; } Я могу загрузить данные в двух моих S3 ведра с использованием выше кода. Но, есть одно ведро, в котором я получаю следующее сообщение об ошибке при попытке загрузить данные:. «Ковш вы пытаетесь получить доступ, должны быть решены с помощью указанной конечной точки Просьба направлять все будущие запросы на эту конечную точку (Service:. Amazon S3 ; Код состояния: 301; Код ошибки: PermanentRedirect; Request ID: 69D73B8CE65BE315), S3 Extended Request ID: 54FOeNuCsR / QZxV19vcAi9RCEyNkbxuIGt5xDi8QjsZw17qwsenRF1mqZUSX3LJF1ThydZJVxIM =» } Государственной статической силы setVerbose (булево многословным) {S3UploadService.VERBOSE = многословным; } Я могу загрузить данные в двух моих S3 ведра с использованием выше кода. Но, есть одно ведро, в котором я получаю следующее сообщение об ошибке при попытке загрузить данные:. «Ковш вы пытаетесь получить доступ, должны быть решены с помощью указанной конечной точки Просьба направлять все будущие запросы на эту конечную точку (Service:. Amazon S3 ; Код состояния: 301; Код ошибки: PermanentRedirect; Request ID: 69D73B8CE65BE315), S3 Extended Request ID: 54FOeNuCsR / QZxV19vcAi9RCEyNkbxuIGt5xDi8QjsZw17qwsenRF1mqZUSX3LJF1ThydZJVxIM =» Ковш вы пытаетесь получить доступ, должен быть решен с помощью указанной конечной точки. Просьба направлять все будущие запросы к этой конечной точке. (Service: Amazon S3, код состояния: 301; Код ошибки: PermanentRedirect; Request ID: 69D73B8CE65BE315), S3 Extended Request ID: 54FOeNuCsR / QZxV19vcAi9RCEyNkbxuIGt5xDi8QjsZw17qwsenRF1mqZUSX3LJF1ThydZJVxIM =» Ковш вы пытаетесь получить доступ, должен быть решен с помощью указанной конечной точки. Просьба направлять все будущие запросы к этой конечной точке. (Service: Amazon S3, код состояния: 301; Код ошибки: PermanentRedirect; Request ID: 69D73B8CE65BE315), S3 Extended Request ID: 54FOeNuCsR / QZxV19vcAi9RCEyNkbxuIGt5xDi8QjsZw17qwsenRF1mqZUSX3LJF1ThydZJVxIM =»
Rahul Deep Singh
1

голосов
1

ответ
193

Просмотры

Using Boto3 to send S3 Put Requests to SNS

Я пытаюсь получить запросы пут S3, посланные на тему SNS. Мой код выглядит следующим образом: s3.put_bucket_notification_configuration (Bucket = event_name, NotificationConfiguration = { 'TopicConfigurations': [{ 'TopicArn': sns_arn, 'События': [ 's3: ObjectCreated: *,]},]}) К сожалению, я получаю исключение. Файл "./infra_setup.py", строка 73, в setup_s3_event_listener 's3: ObjectCreated: *', Файл "/home/ec2-user/.local/lib/python2.7/site-packages/botocore/client.py" , строка 314, в _api_call возвратного self._make_api_call (operation_name, kwargs) Файл "/home/ec2-user/.local/lib/python2.7/site-packages/botocore/client.py", строка 612, в _make_api_call рейза error_class (parsed_response, operation_name) botocore.exceptions.ClientError: Произошла ошибка (AccessDenied) при вызове операции PutBucketNotificationConfiguration: Доступ запрещен Я не смог найти пример этого в Интернете с помощью Boto3 - Я избегаю консоль как мне нужно, чтобы сделать это воспроизводимым. Как я могу предоставить ведро / SNS тему с необходимыми разрешениями? EC2, который выполняет этот сценарий имеет полный SNS и доступ к S3, для чего это стоит. UPDATE: Да, это было очень глупо. Мое создание Ведра неудачи ранее с BucketAlreadyExists - Я предположил, что он существовал в моем счете, но это не так. Изменение имени что-то уникальное решаемой эту ошибку, получая этот вместо: botocore.exceptions.ClientError:
user3816764
1

голосов
0

ответ
143

Просмотры

java.io.IOException: Попытанные прочитал на закрытом потоке на AWS s3 ведро

Я хочу, чтобы обработать файл с помощью AWS s3 ведра с Явой. Мой код AmazonS3 s3 = AmazonS3ClientBuilder.standard () построить (). // Получить объект от события и показать его содержимое типа String, srcBucket = event.getRecords () получим (0) .getS3 () getBucket () GetName ()...; . Строка srcKey = event.getRecords () получим (0) .getS3 () GetObject () GETKEY ()..; S3Object s3Object = s3.getObject (новый GetObjectRequest (srcBucket, srcKey)); audioInputStream = s3Object.getObjectContent (); processInputStreamMethod1 (audioInputStream); processInputStreamMethod2 (audioInputStream); Очевидно, я получаю java.io.IOException: Попытанные прочитал на закрытом потоке, что является лучшим способом (лучшие практики), чтобы справиться с этим? Должен ли я скопировать поток с массивом байтов, закрыть поток или закрыть s3Object? Я новичок в S3 и InputStreams
Sip
1

голосов
0

ответ
29

Просмотры

Доступ запрещен - CloudFront + Джанго Компрессор

Только начал использовать Джанго компрессор вместе с моей установкой AWS / CloudFront на Heroku. Имея проблемы на моей локальной машине, где сжатый CSS и JS файлы не загружаются для страницы и когда я просмотреть исходный код (CSS Пример) Это показывает, как «Access Denied» https://d3dycr1vdfv0cd.cloudfront.net/static/ КЭШ / CSS / 50c1fe094e5d.css Я думал, что это может быть проблема с разрешениями на моем S3 ведро и нажал на «Make Public» на моей папке CSS в S3. Но до сих пор не повезло. есть идеи?
John Rogerson
1

голосов
1

ответ
96

Просмотры

AWS / Cognito / IAM Ошибка при НЕСАНКЦ роли

Это сообщение было первоначально размещено на форумах разработчиков АМСА, но похоже, толпа AWS на SO, поэтому я дублируя его здесь. Привет там, я абсолютный новичок AWS, поэтому я буду стараться быть как можно более четкими. Я пытаюсь использовать API JS, чтобы позволить любому пользователю на моем сайте, чтобы загрузить видео на S3 (это хорошо работает), а затем конвертировать загруженные файлы в другие форматы (с эластичным транскодером). Я настроил: вход (не общественный) и выход (общественные) ведра на S3. Вход принимает пользователь представленных видео, что часть работ :) нефтепровод Упругого Транскодера (видео-конвертер испытания трубопровода-01) федеративная идентичность на Cognito (video_converter_test_02) соответствие Auth и НЕСАНКЦ роли на IAM (Cognito_video_converter_test_02Auth_Role и Cognito_video_converter_test_02Unauth_Role) Магистраль имеет следующее резюме разрешения: «Следующие IAM роли получили доступ к этому трубопроводу: Арны: AWS: IAM :: 529773801731: Роль / Elastic_Transcoder_Default_Role» Cognito_video_converter_test_02Unauth_Role имеет две присоединенных политик: oneClick_Cognito_video_converter_test_02Unauth_Role_1522923667877 видео-конвертер-политика, которые я сделал сам. Вот его JSON представление: { "Версия": "2012-10-17", "Заявление": [{ "Sid": "VisualEditor0", "Эффект": "Разрешить", "Действие": "elastictranscoder: CreateJob", "Ресурс": [ "ARN: AWS: elastictranscoder: *: *: газопровод / *", "ARN: AWS: elastictranscoder: *: *: предустановленное / *"]}]} Вот так я пытаюсь создать работу транскодирования с помощью JS API: функция createJob (uploadedFileKey) {console.log ( «Создать задание», uploadedFileKey); вар PARAMS = {PipelineId: PipelineId, Входной сигнал: {Ключ: uploadedFileKey}, {Выход: PresetId: PresetId}}; elastictranscoder.createJob (PARAMS, функция (ERR, данные) {если (ERR) console.error (ERR, err.stack); // ошибка произошла еще console.log (данных); // успешный ответ}); } При выполнении этого, я получаю следующее сообщение об ошибке: Ошибка: Пользователь: Арн: AWS: петл :: 529773801731: предполагается, ролевые / Cognito_video_converter_test_02Unauth_Role / CognitoIdentityCredentials не разрешается выполнять: elastictranscoder: CreateJob на ресурсе: Арн: AWS: elastictranscoder: ес -West-1: 529773801731: Трубопровод / 1522763370759-mmowmr Я попытался с помощью IAM политики Simulator, чтобы понять, что было неправильно, но при этом с теми же параметрами, я получаю «разрешено» ... Я уверен, что я делаю что-то здесь, но не может понять, что. Я пробовал много вещей, но ничего не получалось. Любая помощь будет оценена :) Заранее спасибо, до свидания!
Quentin
1

голосов
1

ответ
128

Просмотры

AWS ES Смотрите мой Automated снимок

Я хотел бы перечислить автоматизированный снимок из моего Elastisearch RESSOURCES, но я не могу найти, где они находятся. Я попытался это: завиток -XGET «локон -XGET„elasticsearch-домена конечной точки / _snapshot довольно“он вернется {„Сообщение“:" Пользователь: анонимный не разрешается выполнять: анкеты: ESHttpGet ...}? Я вижу, что может потребоваться подписанный запрос, но он выглядит тайм-consumming понять и использовать его, так что я предпочитаю, чтобы найти простое и быстрое решение. Я пытаюсь найти CS-автоматизированное хранилище на S3, но я не могу найти его ... Я предположим, что мои автоматические снимки включены, потому что это в моих ES RESSOURCES детали: Старт час для ежедневного автоматизированного snapshot00:. 00 UTC (по умолчанию) Если кто-то имеет какие-либо идеи поделиться я принять его Спасибо заранее
Germain Denis
1

голосов
0

ответ
57

Просмотры

CORS Intermittently В противном случае - не Загрузка ресурсов

Я периодически получаю эту ошибку для активов, на сайте мы только развитом: Не удалось загрузить https://pod-assets.s3.amazonaws.com/img/client-logos/1522890659604509292c41c4c7b07f778b5254249d.svg: Нет «Access-Control- Allow-Origin заголовок присутствует на запрошенный ресурс. Происхождение «http://www.pereiraodell.com», следовательно, не имеет права доступа. 19/20 раз на нагружает сайт правильно. Любые мысли о том, что может быть причиной? Мы думали, что заголовки CORS не должным образом распространяться на серверах S3, но это было несколько недель.
Pete

Просмотр дополнительных вопросов