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

1

голосов
1

ответ
87

Просмотры

AWS упругая IP против общественного IP

Я новичок в AWS и попытался создать экземпляр EC2. У меня есть домен и готов изменить запись A для соответствующего экземпляра EC2. Я нашел статью, в которой указанный эластичный IP-требуется для связывания домена производства. Но AWS обеспечивает публичный IP и он доступен на интернет-общественности тоже (я знаю, что меняется после перезагрузки, только при условии его хорошо, чтобы изменить запись А после того, как машина перезапущена - на самом деле это не перезагружать очень часто). В этом случае, это должно, что для назначения IP упругую к экземпляру (данный экземпляр не содержит балансировки нагрузки, это всего лишь простой один экземпляр)? Если да, то зачем это нужно?
SKLTFZ
1

голосов
2

ответ
1k

Просмотры

DynamoDB схемы Design

Я имею в виду использование Amazon AWS DynamoDB для проекта, над которым я работаю. Вот суть ситуации: Я собираюсь быть сбор тонны данных об использовании энергии для сотен машин (показания энергии возили каждые 5 минут). Каждая машина находится в зоне, и каждая зона находится в сети. Я тогда собирался свернуть эти индивидуальные показания по зонам и сети, на час и день. Мое мышление является то, что, делая это, я буду в состоянии выполнить один запрос к DynamoDB на столе network_day и вернуть потребление энергии для любого дня быстро. Вот моя схема на данный момент: table_name | hash_key | range_key | Атрибуты ______________________________________________________ machine_reading | machine.id | эпоха | energy_use machine_hour | машина. ID | epoch_hour | energy_use machine_day | machine.id | epoch_day | energy_use zone_hour | machine.id | epoch_hour | energy_use zone_day | machine.id | epoch_day | energy_use network_hour | machine.id | epoch_hour | energy_use network_day | machine.id | epoch_day | energy_use Я не сразу видеть, что большой производительности в тестах, когда я бегу накопительный cronjob, так что я просто интересно, если кто-то с большим опытом могли бы прокомментировать мой ключевой дизайн? Единственный опыт, который я до сих пор с RDS, но я очень пытался узнать о DynamoDB. EDIT: Базовая структура для cronjob, что я использую для накопительных: Еогеасп сеть Еогеаспа зона Еогеасп машина add_unprocessed_readings_to_dynamo () roll_up_fixture_hours_to_dynamo () roll_up_fixture_days_to_dynamo () конец roll_up_zone_hours_to_dynamo () roll_up_zone_days_to_dynamo () конец roll_up_network_hours_to_dynamo () roll_up_network_days_to_dynamo () конец я использовать значение предыдущей функции в в Динамо для следующего рулона вверх, т.е. я использую зоны часы закатать зоны дней я затем использовать зональные дней закатать сети дней Это то, что (я думаю), что вызывает много ненужных операций чтения / записи. Сейчас я могу справиться с низкой пропускной способностью, потому что мой размер выборки составляет всего 100 показаний. Мои проблемы начинаются тогда, когда это масштабируется к тому, что, как ожидается, содержит около 9000000 показаний.
s_dolan
1

голосов
2

ответ
1.2k

Просмотры

Нет ПОДВЕРГАТЬ в AWS докер терпит неудачу развертывания

У меня есть Scrapy проект запуска непрерывно на хронах размещенных внутри Docker изображения. Когда я бегу и развернуть это локально все работает отлично. Если я пытаюсь развернуть то же самое AWS я получаю следующее сообщение об ошибке внутри журналов: Нет ПОДВЕРГАТЬ директиву найденной в Dockerfile, прервать развертывание (ElasticBeanstalk :: ExternalInvocationError) Консоль показывает, что мой контейнер был построен правильно, но я не могу использовать его без КОНТАКТЕ порт. INFO: успешно вытащил питон: 2,7 WARN: Не удался не строить Docker изображения aws_beanstalk / промежуточное-приложение, повторное подключение ... INFO: успешно построено aws_beanstalk / постановка-приложение ОШИБКУ: Нет ПОДВЕРГАТЬ директиву найденной в Dockerfile, прервать ОШИБКУ развертывания: [Instance: я -6eebaeaf] Сбой команды на экземпляре. нет Код возврата: 1 Вывод: Нет ПОДВЕРГАТЬ директиву найденную в Dockerfile, прервать развертывание. Крюк /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh не удалось. Для более подробной информации, проверьте /var/log/eb-activity.log с помощью консоли или EB CLI. Выполнение команды завершено во всех случаях: INFO. Краткое описание: [Успешная: 0, Сбой: 1]. Но почему это не возможно? Мой Dockerfile выглядит следующим образом: из питона: 2,7 MAINTAINER XDF ENV КАТАЛОГ / Opt / с-бемоль # Система ########## RUN APT-получить обновление -y && APT-получить обновление -y && apt- получить установку -y НТП ВИМ APT-Utils WORKDIR $ DIRECTORY # GIT ########## # http://stackoverflow.com/questions/23391839/clone-private-git-repo-with-dockerfile RUN склонный -get установить -y мерзавец RUN MKDIR /root/.ssh/ ADD развернуть / ГИТ-deply ключ /root/.ssh/id_rsa RUN CHMOD 0600 /root/.ssh/id_rsa RUN сенсорного /root/.ssh/known_hosts RUN SSH -keyscan -t bitbucket.org >> RSA /root/.ssh/known_hosts RUN SSH -T -o 'ConnectionAttempts = 1' GIT @ Bitbucket. орг RUN мерзавец клон --verbose [email protected]: XDF / заместитель flat.git. # Установите ########## RUN пункт установить Scrapy RUN пункт установить MySQL-питон # не работает # APT-получить установку -y wkhtmltopdf && пип установить pdfkit # еще # https://pypi.python.org/ PyPI / pdfkit RUN DEBIAN_FRONTEND = неинтерактивный APT-получить установку -y OpenSSL наращивание существенно Xorg libssl-DEV RUN Wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2 RUN деготь xvjf wkhtmltopdf-0.10.0_rc2 статический-amd64.tar.bz2 RUN Чаун корень: корень wkhtmltopdf-amd64 RUN мв wkhtmltopdf-amd64 / USR / бен / wkhtmltopdf RUN пункта установить pdfkit # Cron ########## # http://www.ekito.fr/people/run-a-cron-job-with-docker/ # http://www.corntab.com/pages/crontab-gui RUN APT-получить установку -y хрон RUN кронтаб "$ {ТЕЛ} / развернуть / кронтаб" CMD [ "-f" "хрон",]
lony
1

голосов
0

ответ
9

Просмотры

putBotAlias ​​не работает в AWS LexModelBuildingService node.js

Я пытался заменить существующий LexBot псевдоним (названный позднее) с вновь созданной версией бота. Теперь, согласно AWS документации Если вы хотите обновить бот псевдоним, установите в поле контрольной суммы с контрольной суммой самого последнего пересмотра $ последней версии. Я могу видеть Алиас Последняя является использование бота версии 12 в Lex консоли. Я пытался получать контрольную сумму с помощью следующего (я использую GetBot (...) от LexModelBuildingService получить контрольную сумму бота): использование самого имени псевдонима в качестве версии т.е. ПОСЛЕДНЕЙ. установка versionOrAlias ​​в методе GetBot Params как «$ ПОСЛЕДНИЕ». Жестко прописывать версию до 12 дюймов GetBot (..). Я использовал контрольную сумму из приведенных выше сценариев, но ошибка, кажется, так же, как PreconditionFailedException: Значение контрольной суммы не совпадает для ресурса с именем «Последним». Вот' Фрагмент кода с асинхронной putBotAlias ​​(botVersionResponse) {пусть контрольной суммы; . Ждет this.getBot (botVersionResponse.name, '12' ), а затем (botRes => {// использовал 12, Последний, $ Последней с console.log же ошибок ( "контрольной суммой Последний:" + botRes.checksum); контрольная сумма = botRes.checksum;}); вар PARAMS = {ИМЯ_БОТА: botVersionResponse.name, botVersion: (ParseInt (botVersionResponse.version, 10)) ToString (), название: 'Последняя', контрольная сумма: контрольная сумма.}; // Контрольная сумма: Контрольная сумма console.log ( "Params в putBotAlias:" + JSON.stringify (PARAMS)); вернуть новый посыл ((решительность, отклонять) => {this.modelBuildingService.putBotAlias ​​(PARAMS, функция (эээ, данные) {если (ERR) {отвергнуть (ERR); } // ошибка произошла еще {console.log ( "Поместите псевдоним Response :::" + JSON.stringify (данные)); разрешения (данные); } // успешного ответа}); }); } Я действительно у проигравших здесь, в какой версии именно он хочет. Любая помощь очень ценится. PS: Просьба указать любую дополнительную необходимую информацию в комментариях. } Я действительно у проигравших здесь, в какой версии именно он хочет. Любая помощь очень ценится. PS: Просьба указать любую дополнительную необходимую информацию в комментариях. } Я действительно у проигравших здесь, в какой версии именно он хочет. Любая помощь очень ценится. PS: Просьба указать любую дополнительную необходимую информацию в комментариях.
Salim Shamim
1

голосов
2

ответ
2.1k

Просмотры

Python - AWS Lambda извлечь ключ от входа JSON

Im пытается реализовать функцию, которая будет получать события от cloudwatch и распечатки результатов. Я могу получить событие, но я хочу, чтобы извлечь один конкретный ключ от этого JSON. Вот моя функция: импорт JSON Защита lambda_handler (событие, контекст): печать ( "Полученное событие:" + json.dumps (событие, отступы = 2)) сообщение = событие [ 'Запись'] [0] [ 'SNS'] [ 'Message'] печать (сообщение) Случай получил от Cloudwatch: "Records": [{ "EventVersion": "1.0", "EventSubscriptionArn": «ARN: AWS: SNS: мы-восток-1: XXXXXXXXXXXXX: бхуви: XXXXXXXXXXXXXXXXXXXXXXXXXX " "EventSource": "AWS: SNS", "SNS": { "SignatureVersion": "1", "Отметка": "2018-01-13T19: 18: 44.369Z", "Подпись":"
Bhuvanesh
1

голосов
2

ответ
501

Просмотры

Amazon Lambda список запущенных функций

Как я могу проверить запущенные функции лямбда-управлением с помощью AWS консоли? Кажется, что нет команды, чтобы проверить это: AWS лямбда-XXXX я несколько сценариев запуска, и я хотел бы, чтобы контролировать ситуацию. Достаточно показать, как много функций работают. Спасибо
J.R.
1

голосов
1

ответ
527

Просмотры

Что именно делает EKS делать, если требуется CloudFormation?

Что AWS Elastic»Kubernetes Service (ЭКС) делать точно, если так много конфигурации требуется в CloudFormation, которая (еще) другой сервис AWS? Я последовал за AWS EKS Начало работы в документации на (https://docs.aws.amazon.com/eks/latest/userguide/eks-ug.pdf), где он кажется CloudFormation знание сильно требуется для запуска ЭКС. Могу ли я ошибаюсь или что-то? Таким образом, в дополнение к обучению Kubernetes .yaml манифеста определений, чтобы запустить K8S на ЭКС, AWS ожидает от вас, чтобы узнать их конфигурация CloudFormation .yaml проявляется также (которые все PascalCase в отличие от верблюжьего K8S' я мог бы добавить)? Я понимаю, что EKS делает некоторые управления последней версии K8S и плоскости управления, и «безопасен по умолчанию», но кроме этого? Почему бы мне не просто запустить K8S на АМС с использованием kopš тогда, и иметь дело с немного устаревшей K8S версии? Или я должен делать EKS + CloudFormation + Kops, при которой точка GKE выглядит как действительно заманчивые альтернативы? Обновление: На данный момент я действительно думал EKS это просто тонкая оболочка над CloudFormation после поиска ЭКС в деталях, и как это так зависит от CloudFormation манифестов. Скорее всего, бизнес ответ на тревожные популярности K8S, GKE вообще без какого-либо вещества, чтобы поддержать эту услугу. Надеюсь, что это помогает сэкономить время кто-оценивающего полусырой услуги, которые EKS. Скорее всего, бизнес ответ на тревожные популярности K8S, GKE вообще без какого-либо вещества, чтобы поддержать эту услугу. Надеюсь, что это помогает сэкономить время кто-оценивающего полусырой услуги, которые EKS. Скорее всего, бизнес ответ на тревожные популярности K8S, GKE вообще без какого-либо вещества, чтобы поддержать эту услугу. Надеюсь, что это помогает сэкономить время кто-оценивающего полусырой услуги, которые EKS.
cryanbhu
1

голосов
1

ответ
95

Просмотры

Создание по умолчанию VPC с использованием boto3?

Есть ли способ сделать эквивалент AWS EC2 создать по умолчанию-VPC с использованием boto3? (В более общем плане, мне интересно, если есть способ выяснить boto3 / botocore эквивалент AWS директивы CLI)
Yaroslav Bulatov
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
1

голосов
2

ответ
43

Просмотры

можно ли использовать AWS запустить регулярный Windows 10 машины?

Я хочу x64 для Windows 10 Professional, размещенный на AWS, это возможно? И если да, то как может один идти об этом? Изложить. Я просто хочу, реальные окна 10 среды размещаемых удалена со статическим IP-адресом, так что я могу использовать его как персональный компьютер + сервер для некоторого Дева питания.
BrownChiLD
1

голосов
1

ответ
38

Просмотры

Как читать AWS Cognito пользовательские атрибуты и вошедшего пользователя в лямбда

Я создал пользовательские атрибуты внутри АМС congnito пула, теперь добавления сообщения аутентификации лямбда и внутри лямбда хочет читать «пользовательские атрибуты» и LoggedIn имя пользователя. Внутри Node.js лямбда: Var электронной почты = event.request.userAttributes.email; вар RefNumber = event.request.userAttributes.ref_number; // пользовательский атрибут вар LoginID = event.request.userAttributes.username; // LoggedIn идентификатор в Cognito я могу принести электронный идентификатор правильно, однако и LoggedIn имя пользователя и пользовательский атрибут приходит неопределенными.
vaquar khan
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
1

голосов
1

ответ
81

Просмотры

Как развернуть expressjs статических шаблонов для AWS без перезагрузки сервера?

У меня есть сервер express.js сервера, который я разворачивать к AWS упругой Beanstalk. Я использую Рули двигатель для шаблонов. Шаблоны структура меняется чаще, чем код сервера, поэтому я хочу, чтобы иметь быстрый способ развертывания их. Я экспериментировал с хостинг шаблонов на отдельном S3 статического ведра, а затем загружать их из nodejs кода. Таким образом, я могу развернуть изменения в шаблоны очень быстро с помощью S3 статического развертывания и не Eb развернуть, что перезапускает все узлы сервера. Вот мой node.js код сервера для шаблона загрузки: Const s3 = новый aws.S3 (); s3.getObject ({Ковш: 'bucketname.com', ключ: 'вид /' + путь}, (ERR, данные) => {Const шаблон = handlebars.compile (data.Body.toString ( 'UTF-8') ); разрешить (шаблон);}); Это решило проблему шаблона скорости развертывания, но я не уверен, если он не вносит дополнительные потери производительности. Я думал, так как S3 и эластичная Beanstalk являются амазонки услуги воздействие должно быть минимальным, но сайт тесты заставляют меня думать иначе. Может быть, есть лучший способ решить проблему скорости развертывания шаблонов?
brisky
0

голосов
0

ответ
75

Просмотры

AWS Amplify Connect не возвращает данные

У меня есть очень простой сервер GraphQL, который возвращает «Hello World», если запрашиваются с {} Привет Я настроен Amplify с конечной точкой GraphQL и области и проверить, что соединение работает с этим сниппет: ** ЭТО РАБОТАЕТ ** импорт {API , graphqlOperation} от 'AWS-амплификации' константные ListEvents = `запроса {Привет}` асинхронной getNote () {попытаться {Const результат = ждут API.graphql (graphqlOperation (ListEvents)) console.log (результат)} поймать (е) { console.log ( "Невозможно получить привет") console.log (e.response)}} ВОЗВРАТ: { "данные": { "привет": "Привет, мир!" }} Моя проблема Я хочу использовать соединение с AWS-амплификации реагируют, как описано здесь, я использовал следующий кусок кода и включить его в возвращении моего приложения: ** ЭТО НЕ РАБОТАЕТ ** импорт {Connect} из «АМС-амплификации реагировать»; константное ListEvents = `запроса {Привет}` {(объект, ... остальное) => {console.log (объект); console.log (остальное); }} Это ВОЗВРАТ: Причина для двух пустых ответов обсуждаются в другом переполнением стека вопрос, но это просто никогда не возвращает ожидаемые данные. Можете ли вы помочь мне понять это?
Attaque
1

голосов
2

ответ
592

Просмотры

AWS лямбда не конвертировать JSon запрос в POJO

У меня есть лямбда-функции: пакет org.smarter.note; импорт com.amazonaws.services.lambda.runtime.Context; импорт com.amazonaws.services.lambda.runtime.LambdaLogger; импорт com.amazonaws.services.lambda.runtime.RequestHandler; общественный класс AddNoteRequestHandler реализует RequestHandler {частного NoteRepository заметки; частный LambdaLogger регистратор; @Override общественных Примечание handleRequest (NewNoteRequest newNote, контекст Контекст) {INIT (контекст); журнал ( "создание заметки:" + newNote.toJson ()); notes.create (newNote); вернуть новое примечание (); } Частный журнал недействительным (String сообщение) {Logger.log (string.Format ( "% s \ п", сообщение)); } Частная недействительными инициализации (контекст контекста) {this.logger = context.getLogger (); this.notes = новый NoteRepository (); }} Затем, когда я тестирование лямбды с помощью Сэма локального и отправить запрос: { «название»: «привет», «содержание»: «тело»} Я ожидал JSON преобразованы в NewNoteRequest автоматически, но это не так , вот лог: Теперь вы можете просматривать на указанном выше конечные точки для вызова своих функций. Вам не нужно перезапустить / перезагрузить SAM CLI во время работы на ваших функций, изменения будут отражены мгновенно / автоматически. Вам нужно только перезапустить SAM CLI, если вы обновляете шаблон AWS SAM. 2017/12/28 11:06:57 Вызов org.smarter.note.AddNoteRequestHandler (java8) 2017/12/28 11:06:57 Декомпрессия /Work/smarter-serverless/build/distributions/smarter-serverless.zip 2017 / 12/28 11:06:57 Монтаж / частный / вар / папки / г.в. / m43y5g9x1xdc9f2kc2p0kpz00000gp / T / AWS-сэм-местном 1514430417742696978 в / вар / задачи: ро внутри контейнера во время выполнения СНВ RequestID: bf0f77d3-198d-4211-ab9e-4c85a7c5de22 Версия: $ Последняя Создание Примечание: {название = нуль, содержание = NULL} мой сэм локальный шаблон: AWSTemplateFormatVersion: '2010-09-09' Transform: AWS: : бессерверные-2016-10-31 Ресурсы: Заметки: Тип: AWS :: Serverless :: Функциональные свойства: Handler: org.smarter.note.AddNoteRequestHandler CodeUri: ./build/distributions/smarter-serverless.zip Runtime: java8 Событие: PostEvent: Тип: Api Свойство: Путь: / примечание Метод: сообщение The POJO: пакет org.smarter.note; импорт com.amazonaws.services.dynamodbv2.document.Item; импорт java.util.HashMap; импорт java.util.Map; Класс NewNoteRequest реализует DynamoDBItem, JSon {личное название String; частное содержание строк; Строка GetTitle общественности () {возвращение название; } Общественного недействительными SetTitle (строка заголовка) {this.title = название; } Строка общественного getContent () {содержание возврата; } Общественного недействительными setContent (содержание String) {this.content = содержание; } @Override пункт общественного товара () {вернуть новый товар () .withString ( "название", this.title) .withString ( "содержание", this.content); } @Override общественности Карта toJson () {HashMap = новый JSON HashMap (); json.put ( "название", this.title); json.put ( "содержание", this.content); вернуть JSON; }} Также зависимостей: Зависимости {компилировать ( "com.amazonaws: AWS-лямбда-Java-ядро: 1.1.0", «com.amazonaws:
Jakim
1

голосов
2

ответ
53

Просмотры

Create a response for invalid and incomplete end points using the Serverless Framework?

У меня есть ряд HTTP конечных точек, которые связаны с лямбда-функции, которые поражают подробную информацию следующим образом: продукты / 1 пользователей / 1 пакет / 998134 Существует не соответствующая конечная точка для продуктов /, пользователи / или пакет /. У меня есть пользовательский Authorizer вокруг пользователей / {ID} и пакет / {ID} конечных точек. Если пользователь переходит на пользователей / или пакетов / с использованием GET они получают { «сообщение»: «Отсутствует аутентификация Токен»}. Если они попали эти конечные точки с POST (правильный вариант для моей конечной точки, если они должны были также передать идентификатор) они получают { «сообщение»:. «Заголовок авторизации требует заголовок„CREDENTIAL“параметр авторизации требует параметр„Signature“заголовок авторизации. требует заголовка параметра. Authorization «SignedHeaders» требует наличия либо «X-Дигг-Date» или заголовок «Date». } Есть ли способ, чтобы настроить любого из этих сообщений? Моя первая мысль была просто создать что связанные конечные точки: GET / пользователи POST / GET продукты / POST продукты / GET пакет / пакет POST Но это быстро получает быть много работы, потому что у меня больше, чем три из этих конечных точек для делать. Я также должен включать DELETE и PUT на некоторых из них. Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users} } Есть ли способ, чтобы настроить любого из этих сообщений? Моя первая мысль была просто создать что связанные конечные точки: GET / пользователи POST / GET продукты / POST продукты / GET пакет / пакет POST Но это быстро получает быть много работы, потому что у меня больше, чем три из этих конечных точек для делать. Я также должен включать DELETE и PUT на некоторых из них. Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users} GET / пользователей POST / GET / POST продукты продукты / GET пакет / пакет POST Но это быстро получает быть много работы, потому что у меня есть более чем три из этих конечных точек, чтобы сделать. Я также должен включать DELETE и PUT на некоторых из них. Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users} GET / пользователей POST / GET / POST продукты продукты / GET пакет / пакет POST Но это быстро получает быть много работы, потому что у меня есть более чем три из этих конечных точек, чтобы сделать. Я также должен включать DELETE и PUT на некоторых из них. Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users} Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users} Могу ли я легко создать ответ на неверные или неполные конечные точки? Мой serverless.yml имеет определение выглядеть следующим образом: в настоящее время show_user: обработчик: пользователи / show_users.return_user события: - HTTP: путь: пользователи / {идентификатор} Метод: получить CORS: истинный update_user: обработчик: пользователи / update_user.update_user событие: - HTTP: путь: пользователи / {ID} метод: почтовые CORS: истинный доверитель: $ {самоуправления: custom.authorizer.users}
Serverless Qs
1

голосов
1

ответ
62

Просмотры

AWS SES посылает те же 'bounceRecipients' через SNS раз Mulitple

после того, как обычные волосы, потянув усилия, я наконец сделал AWSSimple Email Service уведомления толчка к моей конечной точке REST через SNS и успешно применил необходимую бизнес-логику на этих получателях. Очки: Вы должны быть толкая несколько писем к тому получателю, поэтому более одного уведомления (уникальные) отказов выталкиваются на SNS. Да. И каждое уведомление имеет свою собственную «MESSAGEID» Но почему я получаю рикошеты уведомление для одного получателя несколько раз, только, почему не другие неправильных получателей.? Ответ / ы прилагается: { "NotificationType": "отскок", "отскок": { "bounceType": "Постоянный", "bounceSubType": "Suppressed", "bouncedRecipients": [{ "EMAILADDRESS": «abc.xyz , [email protected] " "действие": "не удалось", "статус": "5.1.1", "diagnosticCode": "Amazon SES подавил отправки этого ..."}], "метки":" 2017 -12-28T07: 06: 37.106Z " "feedbackId": "010101609bef62ff-0f30cac8-ec3c-41f3-9eee-5f7d90ef3c46-000000", "reportingMTA":" DNS; amazonses.com "}, "почта": { "метки времени": "2017-12-28T07: 03: 44.000Z", "источник": "[email protected]", "sourceArn":" ARN: AWS: SES : ком-хуг-9: 9696845301: identity/[email protected] " "SourceIP": "10.eee.ppq.lmn", "sendingAccountId":" "FeedbackId": "010101609befa8f5-a41662a5-b84e-4048-bc3a-d1f1469c8f1a-000000", "reportingMTA": "DNS; amazonses.com"}, "почта": { "Отметка времени": «2017-12-28T07: 04 : 05.192Z " "источник": "[email protected]", "sourceArn": "ARN: AWS: SES: ком-хуг-9: 9696845301: identity/[email protected]", "SourceIP":" 10.eee.ppq.lmn " "sendingAccountId": "12365498512", "MESSAGEID": "010101609bef61bb-310b4f29-0b01-4ecd-B763-b295e26d0732-000000", "место назначения": [" [email protected] .com "]}} Для получения дополнительной информации: HTTP конечная точка находится в Spring MVC контроллер на основе REST. Поиск: С помощью поиска я нашел это: 1- Повторяющиеся уведомления о доставке / отказов направляются к моей SNS теме? 2- Письма отправляются несколько раз - я могу увидеть журналы AWS? Пожалуйста, может ли один помочь / руководство или указать на то, что может быть проблема? Надеюсь, что вы люди, имеющие большой курортный сезон.
Muhammad Faisal Hyder
1

голосов
2

ответ
668

Просмотры

не Terraform v0.11.1: модули Ошибки загрузки: Ошибка при загрузке модулей: открытый .terraform / модулей / 3f10921295c292995128e9e36eb: нет такого файла или каталога

Я недавно обновил свой терраформировать от v0.10.8 до v0.11.1 я столкнулся неудобный вопрос во время выполнения плана терраформировать, для первого времени запуска команды это дает мне правильный план выпуска продукции, но пока работает та же команда, 2-й раз, когда он дает мне ошибку ниже при загрузке модуля. Ошибка загрузки модулей: загрузочные модули ошибок: Модуль: открытый Zookeeper .terraform / модули / 3f10921295c292995128e9e36ebdfa9f: нет такого файла или каталога Похоже на вопрос провайдера или модуля, но мой Terraform получает успешно инициализирован ниже выхода. provider.aws: версия = "~> 1,2" provider.template: версия = "~> 1,0" Просьба предложить любое решение!
Jayesh Dhandha
1

голосов
1

ответ
708

Просмотры

AWS Amplify React Native, GET request error 403 status code

Я активировал доступ к неавторизованным идентичностям, чтобы сделать некоторое быстрое тестирование, прежде чем интегрировать аутентификацию. Мой код конфигурации заключается в следующем, Amplify.configure ({Auth: {identityPoolId: 'мы-восток-1: пример', регион: 'мы-восток-1', userPoolId: 'мы-восток-1_example', userPoolWebClientId: ' мы-восток-1_example»}, {API: конечные точки: [{имя: "пример-имя", конечная точка:«https://example.execute-api.us-east-1.amazonaws.com/prod/example- дорожка" }, ] } }); и мой код запроса GET заключается в следующем, например, () {сопз apiName = «Пример имя»; Const путь = '/ пример-пути'; API.get (apiName, путь) .then (ответ => {console.log (ответ)}). Улов (ошибка => {консоли. журнал (ошибка)})} Я последовал за все на GitHub и мой шлюз API и функцию лямбды правильно работает, когда я запускаю «тест» и через почтальон. Но реагировать родное это дает мне код 403 состояния без подробного объяснения. Имеет ли это сделать с помощью доступа к неаутентифицированным идентичностям? Кроме того, я использовал «пример» в моем коде, чтобы скрыть свою личную информацию, я напечатал все правильно, так как я не получаю синтаксическую ошибку (идентификатор пула распознает доступа при каждом я бегу, но cloudWatch не показывает журнал шлюз доступа)
David Kim
1

голосов
1

ответ
606

Просмотры

Как вы передаете URL параметров для функции Lambda с помощью AWS API шлюза?

В настоящее время я пытаюсь создать функцию Hello World Lambda и проверить его через API Gateway, как мое намерение состоит в том, чтобы обеспечить REST API с помощью лямбда-функции. У меня есть очень простой обработчик функции, которая принимает в целом числе и выводит его в виде строки: публичная строка FunctionHandler (INT вход, ILambdaContext контекст) {вернуть input.ToString (); } Я опубликовал этот код AWS и это похоже на работу. Я тестировал его с Visual Studio, используя инструменты АМС, а также от AWS консоли. У меня есть настройки API, который имеет метод POST с одним параметром ресурса под названием «вход». При создании метода я выбрал лямбда-выражения для интеграции типа. Когда я использую экран API Тест, чтобы проверить это, я всегда получаю исключение JSON. Вот результат: { "ERRORTYPE": "JsonReaderException", " ErrorMessage «:» Неожиданный символ встречается при анализе значения: {. Путь '', строка 1, позиция 1. " "StackTrace": [ "в Newtonsoft.Json.JsonTextReader.ReadNumberValue (ReadType readType)", "в Newtonsoft.Json.JsonTextReader.ReadAsInt32 ()"," в Newtonsoft.Json .Serialization.JsonSerializerInternalReader.ReadForType (JsonReader читатель, JsonContract контракт, Boolean hasConverter) " "на Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (JsonReader читателя, тип OBJECTTYPE, Boolean checkAdditionalContent)"," в Newtonsoft.Json.JsonSerializer.DeserializeInternal (JsonReader читатель, тип ObjectType)», "в Newtonsoft.Json.JsonSerializer.Deserialize [T] (JsonReader читателя)", "в lambda_method (Закрытие, поток, поток, ContextInfo)" ]} Вот заголовки, которые регистрируются, а также. Они показывают значение, которое я обеспечиваю для ввода, в данном случае 1: Журнал выполнения для запроса тест-запроса Wed Jan 03 19:12:25 UTC 2018: Начало выполнения для запроса: тест-Invoke-запрос Сб янв 03: 19: 12:25 UTC 2018: HTTP метод: POST, путь к ресурсу: / 1 ср 3 января 19:12:25 UTC 2018: Метод путь запроса: {вход = 1} ср 3 января 19:12:25 UTC 2018: запрос запрос метод строка: {} Ср янв 03 19:12:25 UTC 2018: Метод заголовки запроса: {} Я действительно не понимаю, почему я получаю какой-либо ошибки в формате JSON. Когда я проверить через консоль или Visual Studio, я просто обеспечить «1». Нет JSON форматирования вообще. Когда я проверить с помощью консоли, используя путь параметры он должен по существу быть URL, как «mydomain.com/resource/1». Это не должно необходимо разобрать его, но я уверен, что есть веские основания для того, чтобы попробовать. Это даже можно передать параметры пути к лямбда-функции? Спасибо
bsayegh
1

голосов
0

ответ
85

Просмотры

AWS - DynamoDB - методы CRUD не работает правильно

Мне очень нужна Ваша помощь, я пытаюсь создать простое приложение для управления кухней. Я решил использовать AWS с DynamoDB, я stucked с методами CRUD: добавлять и удалять методы, кажется, работает хорошо, но у меня есть большие проблемы с редактированием записей базы данных. Сообщение об ошибке в файле журнал: «Невозможно десериализация экземпляра java.util.ArrayList из маркеров START_OBJECT» Это как моя модель класс выглядит следующим образом: @DynamoDBTable (TABLENAME = «продукт») публичный класс продукт расширяет запрос {/ ** * Идентификатор содержания кухни * / частный идентификатор строки; / ** * Название продукта * / частное имя String; / ** * Калории в 100г * / частных калорий Integer; / ** * Жир в 100г * / частный двойной жира; / ** * Общее карбо в 100г * / частный двухместный карбо; / ** * Общий белок в 100 г * / частный двойной белок; / ** * Этикетка продукта для примера платы клейковины продукта * / частный Список productKinds; / ** * Автор контента. * / Частный Автор автор; / ** * Адрес изображения контента. * / Частные СМИ СМИ; частный Логическое утвержден; @DynamoDBHashKey (ATTRIBUTENAME = "идентификатор") @DynamoDBAutoGeneratedKey общественности Строка GetId () {возвращение идентификатор; } Общественного недействительными SETID (String ID) {this.id = ID; } @DynamoDBAttribute (ATTRIBUTENAME = "Name") публичное Строка GetName () {имя возврата; } Общественной недействительная SetName (имя String) {this.name = имя; } @DynamoDBAttribute (Имя_атрибут = "Калория") getCalories общественных Integer () {возврат калорий; } общественного недействительный setCalories (целое число калории) {this.calories = калории; } @DynamoDBAttribute (ATTRIBUTENAME = "Толстый") публичный Double getFat () {вернуть жир; } Общественного недействительными setFat (Double жир) {this.fat = жир; } @DynamoDBAttribute (ATTRIBUTENAME = "Карбон") публичный двойной getCarbo () {возвращение карбо; } Общественного недействительными setCarbo (двойной карбо) {this.carbo = карбо; } @DynamoDBAttribute (ATTRIBUTENAME = "Протеин") публичный Double getProtein () {возвращение белок; } Общественного недействительный setProtein (двойной белок) {this.protein = белок; } @DynamoDBTypeConverted (конвертер = EnumConverter.class) @DynamoDBAttribute (Имя_атрибут = "ProductKinds") Публичный список getProductKinds () {вернуться productKinds; } Общественных пустот setProductKinds (Список productKinds) {this.productKinds = productKinds; } @DynamoDBTypeConverted (конвертер = ObjectConverter.class) @DynamoDBAttribute (ATTRIBUTENAME = "Автор") публичное Автор getAuthor () {возвращение автора; } Общественной недействительная setAuthor (Автор автор) {this.author = автор; } @DynamoDBTypeConverted (конвертер = ObjectConverter.class) @DynamoDBAttribute (ATTRIBUTENAME = "Медиа") общественное СМИ getMedia () {возвращение средств массовой информации; } общественный недействительный setMedia (Media СМИ) {this.media = медиа; } @DynamoDBAttribute (ATTRIBUTENAME = "Approved") публичное Логическое getApproved () {вернуться утверждены; } Общественного недействительными setApproved (булево утвержден) {утверждено this.approved =; } @Override общественные булевы Equals (Object о) {если (это == о) возвращает истину; если (! о == NULL || GetClass () = o.getClass ()) возвращает ложь; продукт = (продукт) O; если (имя = NULL name.equals (product.name): product.name = нуль!?!!) вернуться ложным; если: возвращение ложным; (калорий = нулевой calories.equals (product.calories) product.calories = нуль!?!) если (жир = нуль fat.equals (product.fat): product.fat = нуль!?!!) вернуться ложным; если (карбо = нуль carbo.equals (product.carbo): product.carbo = нуль!?!!) вернуться ложным; если (белок = нуль protein.equals (product.protein): product.protein = нуль!?!!) вернуться ложным; если: возвращение ложным; (productKinds = нуль productKinds.equals (product.productKinds) product.productKinds = нуль!?!) если (автор = нуль author.equals (product.author): product.author = нуль!?!!) вернуться ложным; если (СМИ = нуль media.equals (product.media): product.media = нуль!?!!) вернуться ложным; вернуться утвержден! = NULL? approved.equals (product.approved): product.approved == NULL; } @Override общественного ИНТ хэш-код () {INT результат = идентификатор! = NULL? id.hashCode (): 0; Результат = 31 * Результат + (имя = нуль name.hashCode (!):? 0); Результат = 31 * результат + (калории = нулевой calories.hashCode (!):? 0); Результат = 31 * результат + (жир = нулевой fat.hashCode (!):? 0); Результат = 31 * Результат + (карбо = нуль carbo.hashCode (!):? 0); Результат = 31 * Результат + (белок = нулевой protein.hashCode (!):? 0); Результат = 31 * результат + (productKinds = нуль productKinds.hashCode (!):? 0); Результат = 31 * результат + (автор = нуль author.hashCode (!):? 0); Результат = 31 * результат + (СМИ = нулевой media.hashCode (!):? 0); Результат = 31 * Результат + (утв = нуль approved.hashCode (!):? 0); возвращать результат; } @Override общественности Строка ToString () {возвращение "Продукт {" + "ID = '" + идентификатор + '\'' + "имя = '" + имя + '\'' + ", калории =" + калорий + », } Общественного продукта editProduct (продукт) {продукт databaseProduct = databaseController.get (Product.class, product.getId ()); если (! databaseProduct = NULL) {Logger.log ( "База данных продукта существует:" + databaseProduct.toString ()); } Если (product.getId () = NULL && product.getId () IsEmpty (!).) DatabaseController.save (продукт); databaseController.save (databaseProduct); Logger.log ( "Продукт обновляется"); вернуться databaseProduct; } DeleteProduct (продукт) общественного недействительными {продукта databaseProduct = databaseController.get (Product.class, product.getId ()); databaseController.deleteProductFromDB (databaseProduct); Logger.log ( "Пункт удален"); } Конечно и нужно увидеть, как сохранить метод в dynamoDBcontroller выглядит: общественная пустота сохранить (T objectToSave) {Logger.log (» @Override общественности Строка преобразования (T объект) {попробуйте {вернуть objectMapper.writeValueAsString (объект); } Задвижка (JsonProcessingException е) {e.printStackTrace (); } Поймать (IOException е) {e.printStackTrace (); } Певд IllegalArgumentException ( "Не удалось разобрать JSON"); } @Override общественного Т unconvert (String объект) {попытаться {Т = unconvertedObject objectMapper.readValue (объект, новый TypeReference () {}); вернуться unconvertedObject; } Задвижка (JsonParseException е) {e.getMessage (); } Задвижка (JsonMappingException е) {e.getMessage (); } Поймать (IOException е) {e.printStackTrace (); } Певд IllegalArgumentException ( «Невозможно разобрать в JSON»); } Перечни: общественный класс EnumConverter реализует DynamoDBTypeConverter {@Override общественности Строки преобразование (Список объекты) {// Джексон объект картограф ObjectMapper ObjectMapper = новый ObjectMapper (); попробуйте {Строка objectsString = objectMapper.writeValueAsString (объекты); вернуться objectsString; } Задвижка (JsonProcessingException е) {// сделать что-то} возвращение нуль; } Список unconvert @Override общественности (String objectsString) {ObjectMapper ObjectMapper = новый ObjectMapper (); попробуйте {список объектов = objectMapper.readValue (objectsString, новый TypeReference () {}); возвращать объекты; } Задвижка (JsonParseException е) {// сделать что-то} поймать (JsonMappingException е) {// сделать что-нибудь} поймать (IOException е) {// сделать что-то} возвращение нуль; } I» м тестирование этого с помощью Почтальон, это как JSON, что я посылаю вид: { "ID": "3bdc1372-4f67-493e-92d7-db3b529fe3bd", "имя": "bąkiKacpraPoEdycji", "калории": 1500, "жир ": 400,0," карбо ": 20,0," белок ": 40,0," productKinds ": [" МЯСО "]," автор ": {" имя ":" Plejer Annołn " "идентификатор": "testID2"}," СМИ ": {" имя ":" heheszki», "URL": "http://blabla.pl", "MEDIATYPE": "IMAGE"}, "утвержден": ложь} Подробнее: Продукт [медиа]; может не unconvert атрибут: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Продукт [Медиа]; может не unconvert атрибут это как JSON, что я посылаю вид: { "ID": "3bdc1372-4f67-493e-92d7-db3b529fe3bd", "имя": "bąkiKacpraPoEdycji", "калории": 1500, "жир": 400,0, "карбо ": 20,0," белок ": 40,0," productKinds ":", автор [ "MEAT]" ": {" имя ":" Plejer Annołn " "идентификатор": "testID2"}, "средства массовой информации": {" имя ":" heheszki», "URL": "http://blabla.pl", "MEDIATYPE": "IMAGE"}, "утвержден": ложь} Подробнее: Продукт [Медиа]; может не unconvert атрибут: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Продукт [Медиа]; может не unconvert атрибут это как JSON, что я посылаю вид: { "ID": "3bdc1372-4f67-493e-92d7-db3b529fe3bd", "имя": "bąkiKacpraPoEdycji", "калории": 1500, "жир": 400,0, "карбо ": 20,0," белок ": 40,0," productKinds ":", автор [ "MEAT]" ": {" имя ":" Plejer Annołn " "идентификатор": "testID2"}, "средства массовой информации": {" имя ":" heheszki», "URL": "http://blabla.pl", "MEDIATYPE": "IMAGE"}, "утвержден": ложь} Подробнее: Продукт [Медиа]; может не unconvert атрибут: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Продукт [Медиа]; может не unconvert атрибут м отправки вида: { "ID": "3bdc1372-4f67-493e-92d7-db3b529fe3bd", "имя": "bąkiKacpraPoEdycji", "калория": 1500, "жир": 400,0, "карб": 20,0, "белок" : 40,0, "productKinds": [ "МЯСО"], "автор": { "имя": "Plejer Annołn", "идентификатор": "testID2"}, "СМИ": { "имя": "heheszki",» URL ":" http://blabla.pl», "MEDIATYPE": "IMAGE"}, "утвержден": ложь} Подробнее: Продукт [Медиа]; может не unconvert атрибут: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Продукт [Медиа]; может не unconvert атрибут м отправки вида: { "ID": "3bdc1372-4f67-493e-92d7-db3b529fe3bd", "имя": "bąkiKacpraPoEdycji", "калория": 1500, "жир": 400,0, "карб": 20,0, "белок" : 40,0, "productKinds": [ "МЯСО"], "автор": { "имя": "Plejer Annołn", "идентификатор": "testID2"}, "СМИ": { "имя": "heheszki",» URL ":" http://blabla.pl», "MEDIATYPE": "IMAGE"}, "утвержден": ложь} Подробнее: Продукт [Медиа]; может не unconvert атрибут: com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException: Продукт [Медиа]; может не unconvert атрибут
D.Zet
1

голосов
0

ответ
392

Просмотры

AWS ЭМИ улей не удается из-за serde2 / serde

Я бег ОЙ ульи запроса на S3 и он не говорил «инициализация оператора Map не удался» Я пытался установить HADOOP_CLASSPATH, как показано ниже, до сих пор не повезла. установить HADOOP_CLASSPATH = / USR / Библиотека / улей / Библиотека / *; Кроме того, добавление ниже банку, добавить банку /usr/hive/json-serde-1.3.7-jar-with-dependencies.jar. Этот файл банка присутствует на данном пути. Я не знаю, почему он жалуется, как показано ниже: Вызванный: java.lang.NoClassDefFoundError: орг / Apache / Hadoop / улей / serde2 / SerDe Бревно, как показано ниже: Статус: Не удалось Vertex не удалось, vertexName = Карта 10, vertexId = vertex_1515176779844_0076_2_02, диагностика = [задание не удалось, TaskId = task_1515176779844_0076_2_02_000031, диагностика = [TaskAttempt 0 не удалось, информация = [Ошибка: Ошибка при выполнении задачи (сбой): attempt_1515176779844_0076_2_02_000031_0: java.lang.RuntimeException: java.lang.RuntimeException: Vertex vertex_1515176779844_0076_2_09 [Редуктор 11] убитые / не удалось из-за: OTHER_VERTEX_FAILURE] Vertex убит, vertexName = Карта 6, vertexId = vertex_1515176779844_0076_2_03, диагностика = [Vertex полученные Убей в БЕЖАТЬ состоянии, Vertex не увенчались успехом из-за OTHER_VERTEX_FAILURE, failedTasks:. 0 killedTasks : 165, Vertex vertex_1515176779844_0076_2_03 [Карта 6] убит / не удалось из-за:. OTHER_VERTEX_FAILURE] Vertex убит, vertexName = Карта 1, vertexId = vertex_1515176779844_0076_2_05, диагностика = [Vertex получил Убей в БЕЖАТЬ состоянии, Vertex не увенчались успехом из-за OTHER_VERTEX_FAILURE, failedTasks : 0 killedTasks: 139, Vertex vertex_1515176779844_0076_2_05 [Карта 1] убит / не удалось из-за: OTHER_VERTEX_FAILURE] DAG не удалось из-за VERTEX_FAILURE. failedVertices: 1 killedVertices: 8 FAILED: Ошибка исполнения, код возврата 2 из org.apache.hadoop.hive.ql.exec.tez.TezTask. Vertex не удалось, vertexName = Карта 10, vertexId = vertex_1515176779844_0076_2_02, диагностика = [Задание не удалось, TaskId = task_1515176779844_0076_2_02_000031, диагностика = [TaskAttempt 0 не удалось, информация = [Error: Ошибка при выполнении задачи (сбой): attempt_1515176779844_0076_2_02_000031_0: java.lang.RuntimeException: java.lang.RuntimeException: Карта инициализации оператор не удалось в org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor (TezProcessor.java:211) в org.apache.hadoop.hive.ql.exec.tez. TezProcessor.run (TezProcessor.java:168) в org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run (LogicalIOProcessorRuntimeTask.java:370) в org.apache.tez.runtime.task.TaskRunner2Callable $ 1.Run (TaskRunner2Callable.java:73 ) при org.apache.
Jay Prakash Tiwari
1

голосов
1

ответ
47

Просмотры

NodeJS на AWS EC2: Невозможно загрузить публичную папку / изображения

Я разрабатываю приложение NodeJS и она хорошо выглядит на моем локальном хосте, так что я решил развернуть его на AWS EC2. Я следовал инструкции AWS, чтобы развернуть мое NodeJS приложение на AWS EC2. Когда я начал сервер на EC2, запустив узел server.js, я обнаружил, что, хотя были загружены Javascript и CSS ресурсы по общей папке, все изображения из публичных / изображений не были загружены и папка изображения пропускали под Chrome инструмента для разработчиков> Источников , При запуске приложения локально, все изображения из публичных / изображений были загружены правильно. Существует также ошибка 500 Internal сервер на консоли Chrome. Вот пример моего HTML для одного из изображений:
Manto
1

голосов
0

ответ
190

Просмотры

Google Зрение API возвращает неверные учетные данные

Я просто разработал свою систему (PHP) с помощью Google Видения API, но когда я развернуть его на сервер (Amazon Elastic Beanstalks) результат показал мне, что. «Код ошибка: 401 сообщения: Запрос был недействительные учетными данные OAuth Ожидаемого 2 маркера доступа, логин печенья или другой действующего удостоверение подлинности.» Для получения дополнительной информации - я пытаюсь добавить GOOGLE_APPLICATION_CREDENTIALS переменной среды AWS EBS ---> Это не работает. - Я пытаюсь создать идентификатор клиента и секрет клиента на экране OAuth согласия ---> Я не знаю, как его применять.
Jirawat Sangthong
1

голосов
1

ответ
194

Просмотры

AWS Advanced Health Отчетность показывает предупреждение памяти - это мои настройки памяти Java виноваты?

Я использую Elastic Beanstalk (T1.small - 1 Гб RAM) для веб-приложения Java. Я настроил его так, что Java Heap имеет мин кучи 200MB макс кучи 400mb макс завивка-GEN 100mb Таким образом, в общей 500mb зарезервированной для «вещи» Java. Я чувствовал, что это был щедрым оставляя 500MB для операционной системы и все другие вещи, такие как Apache Tomcat. Проблема заключается в том, страница передовых медицинских Elastic Beanstalk иногда начинает предупредив меня, что я использую 92% памяти и когда она достигала 96%. Когда это произойдет, я, как правило, отскакивают основной экземпляр EC2 и тогда проблема не видел в течение нескольких дней или недель, в то время. У меня есть два экземпляра, балансировка нагрузки и учитывая наши текущие нагрузки он не ударил очень трудно. Обратите внимание, я видел пост на форуме AWS (который я не могу найти сейчас), что подтверждает, что там была ошибка в продвинутой отчетности здоровья, это была промах отчетности суммы FreeMemory и совет был, чтобы выключить его, пока он не был решен. Я не нашел доказательства либо способ определить, если это было исправлено. В настоящее время я не знаю, что «память» разряжен, это объем памяти, ОС, потому что 1 Гб общая память меньше 500M Java оставляет 500м для всего остального, и это иногда не хватает? Я бег моего приложения через профайлер на моей локальной машине Dev (Mac с NetBeans), и я вижу пилообразный рисунок памяти, что более часов не выглядит, как это утечка памяти. Тем не менее, число поколений предполагает у меня есть объекты, что сохраняющиеся дольше, чем они должны ... но, учитывая, куча выглядит здоровой, я подозреваю, выжившие объекты очень малы и, вероятно, не является «утечкой» persay. Должен ли я рассматривать с использованием t1. маленький (2 ГБ оперативной памяти), а затем, что это разумный объем памяти для резервирования для не Java вещи? Я имею в виду резервирования 1000M для Heap и 500M для завивки ген? Или, учитывая, что 100M для PermGen кажется, хорошо с 500M для моей текущей в Кoнфигурировании затем 1400М для Heap и 100M Пермского Бытии Кроме того, учитывая, что я настроен на использование 64-битной Amazon Linux 2017.03 v2.6.0 работает Tomcat 8 Java 8, то я хотя PermGen был удален в Java 8? Или это все-таки здесь, потому что это не Sun JRE? Рекомендации по оптимизации настроек памяти будут оценены, а также советы по проверке того, что ценности действительно правильно. Я включил скриншот моей локальной машины развития, я настроил его использовать ту же мин + макс и PermGen как AWS путем настройки с -Xms200m котом -Xmx400m -XX: MaxPermSize = 100м Моя забота с этим скриншоте, что выжившие поколения увеличиваются, в то время как общий объем памяти, на самом деле не кажется, так что это может быть очень медленная утечка памяти, или на самом деле не один стоит беспокоиться о. Теперь я собираюсь инструмент классов, которые имеют высокое количество выживания и увидеть, что показ - но, учитывая, я думаю, что это не проблема памяти Java Я упоминаю об этом, чтобы обеспечить фон. Примечание 11:30 Я оттолкнул гораздо больше на сервере, это вызвало фактическое Java из-за нехватки памяти исключение, но после полного GC кучи быстро выздоровел, и все продолжали работать нормально. Мы не видели в Java OutOfMemory ошибки в прямом эфире, вероятно, потому, что мы загружаем баланс, плюс стресс-тест я был запущен на моей машине Дева толкнул намного больше изображений на сервер, чем то, что мы обычно видим в прямом эфире.
Devology Ltd
1

голосов
1

ответ
87

Просмотры

Как повторно использовать государственное определение через AWS автоматов?

У меня есть государственная машина, как показано ниже. Если он имеет 1000 сообщений для уведомления, оно распространяет уведомления через 15 минут. Теперь, если у меня есть TwoHourStateMachine с теми же самыми государственными потоками, но со своим собственным набором лямбды, как я буду использовать те состояния, так что я не дублировать определение снова? Государственная машина: FifteenMinuteStateMachine: Тип: "AWS :: StepFunctions :: Statemachine" Свойства: StateMachineName: "FifteenMinuteStateMachine" DefinitionString: Fn :: Sub: | - { "Комментарий": "15-минутная государственная машина", "StartAt": " Инициализировать " "TimeoutSeconds": 900, "States": { "Инициализировать": { "Тип": "Задача", "ресурс":" $ {InitFifteenMinuteLambda.
Ashok
1

голосов
1

ответ
617

Просмотры

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

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

голосов
0

ответ
76

Просмотры

Невозможно импортировать AWSCore в мой собственный Framework IOS

Я разрабатываю собственные Framework, которая использует AWSCore и AWSS3 от AWS. Я вставил ядро ​​и S3 Каркасов под General -> "Связанные рамки и библиотеки раздел собственной рамок цели, как я сделал с моей одиночной целью App и где его просто работает. Но оператор импорта AWSS3 дает ошибку Нет такой модуль «AWSS3 Что такое правильный способ импортировать AWS Каркасы в свои рамочные?
Goppinath
1

голосов
0

ответ
190

Просмотры

Игнорировать драйвер: cloudstor: АМС в Докер-compose.yml

Я хотел бы следующий драйвер и driver_opts быть проигнорировано при работе в определенной среде (в основном разработки): объемы: Foobar: имя: «{{.Service.Name}} - {. {Task.Slot}} - foobar- т»# AWS EBS только водитель: cloudstor: AWS driver_opts: изнанка: перемещаемый ebstype: размер gp2: 4 Если я бегу докер-компоновать вверх, используя тот же Докер-compose.yml файл в моей местной среде Dev, я получаю следующее сообщение: ОШИБКА: Volume {{.Service.Name}} - {{Task.Slot}.} - Foobar-т указывает несуществующий cloudstor драйвера: AWS я могу переопределить локально, если я переобъявить именованный объем Foobar в Докер-compose.override.yml , но я хотел бы также построить и запустить производственную среду на местном уровне без необходимости создавать новый файл сочинять.
willsquire
1

голосов
1

ответ
43

Просмотры

Докер наложение для местного развития и удаленных контейнеров

Я ищу, чтобы улучшить наш цикл разработки, с использованием нескольких контейнеров Docker, используемых нескольких командами Дев В настоящее время каждая команда разработчиков несет ответственность за несколько услуг, которые зависят от других услуг команд. Значение всего Dev команды должна выполнять все контейнеры локально Что я пытаюсь выяснить то, как можно локальный контейнер подвергаться удаленной сети на удаленный кластере, что каждая команда присоединится к своей сети, без необходимости запуска всех услуги локально
gCoh
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

ответ
269

Просмотры

CNAME уже существует не может указывать WWW. в моем Cloud Front Distribution

В настоящее время я пытаюсь создать дистрибутив для домена у меня есть с Маршрутом 53, runway.supply я создал распределение и создал записи A и AAA для runway.supply, которые в настоящее время маршруты на мой статический сайт (я получаю другие вопросы, связанные с сервером, когда пытаясь извлечь мои данные) и теперь хотят сделать то же самое для www.runway.supply Однако, когда я пытаюсь добавить www.runway.supply к альтернативному CNAME для его распределения я получаю следующий вопрос: CNAMEAlreadyExistsException: Один или несколько из CNAMEs вы предоставили уже связаны с другим ресурсом. Обратите внимание, что в моем скриншоте, где www.runway.supply является альтернативным имя домена он не может быть сохранен из-за ошибки, которую я имею экран ниже выстрел,. Это странно, потому что я могу добавить runway.supply для его распространения в качестве альтернативного CNAME ... и у меня есть домен и не могу показаться, чтобы найти какой ресурс использует его, что бы удержать меня от добавления его к распределению. В результате посещения WWW. моего домена я получаю следующее { «сообщение»: «Forbidden»}
kareem
1

голосов
1

ответ
212

Просмотры

Проблема с AWS профилей при создании AMI

У меня есть проблема строительных МАСС с использованием профилей AWS с пакером. Профиль AWS не идентифицируются с помощью пакера конфигурационного файла, его использования учетных данных по умолчанию. .aws / конфигурация [по умолчанию] = выход = область JSON нас-восток-2 [профиль тест] Выход = = область JSON нас-восток-2 [профиль тест-DEV] Выход = = область JSON нас-восток-2 .aws / учетные данные (не настоящие ключи) [по умолчанию] aws_access_key_id = aws_secret_access_key = [тест] aws_access_key_id = 1fsfsfsd9898sf aws_secret_access_key = 123456789fsdfsf8fs080sd8 [тест-DEV] aws_access_key_id = fdafda8f0s80d8f0 aws_secret_access_key = fdsflsjlfjsl908809830sfjsdjl config.json { "переменные": { "aws_access_key": "", " aws_secret_key ": "", "aws_profile": "тест-DEV"}, "строители": [{"
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

голосов
0

ответ
434

Просмотры

Развертывание пакета AWS Lambda с Python 3.6 и модулем криптографии

Я пытаюсь развернуть пакет AWS Lambda. Язык Python 3.6, и включает в себя внешние модули (колба-аск и, таким образом, косвенно криптография). Когда я делаю так, и проверить функцию, AWS сообщает об ошибке: Нет модуль с именем «cryptography.hazmat.bindings._openssl» Моя среда разработки не является ОС Windows 10. Моя функция работает отлично на моей среде разработки. Я упаковать функцию с Powershell скриптом ... & $ пункта установить колбу-аск -t $ ProjectDir ... а затем застегнуть результат и функцию, чтобы сделать пакет почтового индекса. Моя версия разработки Python 3.6 имеет 64-битную разрядность. Вопросы Почему функция работает локально, но не тогда, когда упакованы и отправлены в AWS? Чего не хватает? и как я могу это исправить. Подобные вопросы я нашел другие люди имели подобные вопросы здесь: импортирование cryptography.hazmat.bindings. _openssl в Python 3.6 AWS Lambda Ошибки При проносясь виртуальным окр для развертывания AWS Lambda, что я могу уйти из? Я ненавижу, чтобы переключиться на Python 2.7. Второй имеет только решения для среды разработки Linux.
Sean B. Durkin
1

голосов
0

ответ
34

Просмотры

Мне нужно настроить мой веб-сервер, который может быть использован как shopiy.com

Мне нужно настроить мой веб-сервер, который может быть использован как shopiy.com. Я создам поддомены динамически с PHP при создании учетных записей пользователей. Пользователи должны быть в состоянии указать учетную запись со своим собственным доменным именем. Я использую AWS для моего хостинга и создал Elastic IP, чтобы сделать статический IP. Зарегистрированный мой основной домен с GoDaddy и указал на AWS с этим упругим IP-адресом. Я объясню детали с примером. У меня есть веб-приложение, которое принимает регистрацию пользователя размещенного с доменным именем говорят www.abc.com. Когда пользователь создает учетную запись, он получит свой собственный URL как hisname.abc.com, который я достиг в моем самой веб-приложении. Теперь мой вопрос, если выше пользователь покупает свое собственное доменное имя www.hisname.com, он смог бы указать имя hisname.abc.com.
Ajith Kumar A R
1

голосов
0

ответ
24

Просмотры

Как получить WDSL в качестве AWS службы?

пытаюсь получить файл WSDL от аль АМС услуг для того, чтобы сделать набор данных для классификации облачных сервисов. Я нашел только 3 WSDL услуг.
Houssem Gharbi
1

голосов
0

ответ
428

Просмотры

Можно настроить приложение нагрузки Balancer с Elastic Beanstalk ebextensions?

Документация Elastic Beanstalk упоминает о том, что тип балансировки нагрузки может быть установлен с помощью конфигурационного файла в папке .ebextensions. Однако, когда я раскрываю мое заявление во вновь созданной среды, Elastic Beanstalk все еще создает классические балансировки нагрузки. Я создаю новую среду через консоль AWS и мои исходный пакет прикладных программ имеет папку .ebextensions с настройками, задающих балансировки нагрузки приложения. Как показано ниже: .ebextensions / приложение нагрузка balancer.config option_settings: AWS: elasticbeanstalk: окружающая среда: LoadBalancerType: приложение Я пропускаю шаг в процессе создания окружающей среды? Были ли другие люди побежали в этот вопрос?
johnnyodonnell

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