Как использовать учетные данные для установки URL-адреса AWS S3?
Я пытаюсь настроить простой сервер S3. Я могу получить URL-адрес (в данном случае это будет уже импортированный файл QuickBase), и при нажатии кнопки будет вызван скрипт, сохраненный на страницах QuickBase, который будет опубликован на S3. с полем тега, которое я определил, для простоты, это dbid и запись id #, который находится в поле div, так как его данные извлекаются в скрипт как
var fileToUpload = $(this).attr('data');
var qbfiletag = $(this).attr('data');
Файлы для загрузки имеют точную ссылку, по которой Quickbase хранит файл, который мне нужно импортировать.
Я знаю, что это возможно, потому что команды Juice и Zapier сделали это, мне просто сложно настроить учетные данные, чтобы сделать это в качестве URL.
Я даже не на 100% уверен, что правильно настроил ключ доступа. Я предоставил доступ на чтение и запись к mycompany.quickbase.com, но кроме того, у меня так много информации по всем различным темам, что aws трудно найти там, где я облажался.
1 ответ
Похоже, что есть несколько шагов для настройки вашей учетной записи для доступа к S3 через JavaScript. После того как ваш контейнер создан, вам нужно настроить CORS, открыв его свойства и выбрав для редактирования конфигурацию CORS. Вы упомянули о предоставлении доступа на чтение / запись к домену вашей компании, так что вы, вероятно, уже сделали это. Я использовал этот из Amazon, чтобы проверить:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>https://mycompany.quickbase.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
Вторая часть заключается в создании пользователя IAM в консоли управления удостоверениями и доступом. В процессе создания пользователя Amazon автоматически сгенерирует идентификатор ключа доступа и пару секретных ключей доступа. Они понадобятся вам для вызова API позже. Вам также необходимо прикрепить политику, которая устанавливает разрешения для пользователя. Я использовал политику AmazonS3FullAccess для своего теста. Все это делается через эту консоль.
Как только ваш пользователь IAM настроен, вы можете передать идентификатор ключа доступа и секретный ключ доступа в конфигуратор AWS, прежде чем создавать экземпляр объекта S3 с помощью JavaScript SDK от Amazon.
AWS.config.update({accessKeyId: 'ABCDEFGHIJKLMNOP', secretAccessKey: 'a1b2c3d4e5f6g7i8j9k0+0012ab'});
var bucket = new AWS.S3({params: {Bucket: 'myBucketName'}});
Оттуда вы можете использовать bucket
объект для вызова любого из методов S3 в SDK, включая загрузку файла.