Предоставить Amazon ML разрешение на чтение из Amazon S3 программно

Я разрабатываю приложение Amazon Machine Learning и читаю свои данные с amazon s3. Я столкнулся с ошибкой разрешения на чтение и нашел решение с использованием amazon explorer. Мне было интересно, есть ли способ предоставить Amazon ML разрешения на чтение и запись с помощью кода, возможно, с помощью aws cli или через boto sdk.

См. также:  Ошибка AWS Lambda: не удалось распаковать загруженный файл
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 2
  1. user2496965

    Отвечу решениями для aws-cli.

    После создания политики корзины S3 (ml_bucket_policy.json) на основе руководства разработчика, просто запустите команду $ aws cli s3api put-bucket-policy, чтобы назначить политику корзины.

    $ aws s3api put-bucket-policy --bucket YOUR_BUCKET_NAME --policy file://ml_bucket_policy.json
    

    Имейте в виду, что вам нужны два типа политики корзины.

    • Один для чтения источников данных.
    • Другой — для создания пакетных прогнозов.

    По-прежнему возникает ошибка: не удалось получить доступ к s3: //bucket/trainData.csv. Либо в этом месте нет файла, либо файл пуст, либо вы не предоставили нам разрешение на чтение. Я заверяю вас, что файлы есть и непустые, и я создал файл json, как в примере. person user2496965; 05.07.2015

    Я уверен, что путь к ресурсам вашей политики корзины не соответствует тому, где находятся ваши файлы S3. Что произойдет, если вы укажете шаблон пути S3 просто * следующим образом: … Действие: s3: ListBucket, Ресурс: arn: aws: s3 ::: ‹YOUR_BUCKET_NAME›, Условие: {StringLike: {s3: prefix: [ ]}} … Действие: s3: GetObject, ресурс: [arn: aws: s3 ::: ‹YOUR_BUCKET_NAME› /] person user2496965; 05.07.2015

    Я полностью удалил условное выражение. person user2496965; 05.07.2015

    {Заявление: [{Эффект: Разрешить, Принципал: {Сервис: machinelearning.amazonaws.com}, Действие: s3: GetObject, Ресурс: arn: aws: s3 ::: bucket / *}, {Эффект: Разрешить, Принципал: { Сервис: machinelearning.amazonaws.com}, Действие: s3: ListBucket, Ресурс: arn: aws: s3 ::: bucket}]} person user2496965; 05.07.2015

    вот код, который я использую: ссылка person user2496965; 05.07.2015

  2. user2496965

    Просто чтобы дать ответ. Создайте папку в своем ведре. Поместите файл в папку. И убедитесь:

    «Ресурс»: «arn: aws: s3 ::: bucketname / foldername / *»

    «s3: префикс»: «имя папки / *»

    НЕ ваше имя файла

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: