MATLAB から Amazon S3 上にあるファイルにア​クセスできないのはな​ぜですか?

MATLAB から Amazon S3 バケットにアクセスして、S3 上にあるファイルのデータを取得するために、tabularTextDatastore や readtable 関数を実行すると、エラーが発生します。
 
>> setenv('AWS_ACCESS_KEY_ID', '******');
>> setenv('AWS_SECRET_ACCESS_KEY', '******');
>> ds = tabularTextDatastore('s3://<bucket_name>/myfile.csv')
エラー: tabularTextDatastore (line 147)
一致するファイルまたはフォルダーが見つかりません:
's3://<bucket_name>/myfile.csv'
system や dos コマンドで、AWS コマンドラインインターフェイス(AWS-CLI)を使用して、ファイルにアクセスはできます。何が原因か教えてください。

 채택된 답변

MathWorks Support Team
MathWorks Support Team 2021년 4월 21일
편집: MathWorks Support Team 2021년 4월 21일

0 개 추천

"AWS_REGION" 環境変数が設定されていないことが考えられます。
下記のように setenv 関数で AWS_REGION を明示的に指定することをお試しください。
>> setenv('AWS_REGION','ap-northeast-1');
なお、MATLAB バージョンによって、上記環境変数名が変更されている場合があります。
R2020b およびそれ以降のバージョンでは、"AWS_REGION" ではなく、"AWS_DEFAULT_REGION" を定義する必要があります。詳細については、使用しているリリースのドキュメントを照してください。
・リモートデータの操作
(こちらは最新版のヘルプドキュメントが表示されます)
また、R2020a 以前のバージョンをご利用の場合、上記環境変数を設定しても、下記のエラーが発生することがあります。
エラー: tabularTextDatastore (line 147)
フォルダー 's3://<bucket_name>/myfile.csv' にはファイルがないか、または空です。'IncludeSubfolders' を使用して、すべてのサブフォルダーのファイルを含めてください。
この場合、ご利用の環境において、バケットのコンテンツを一覧表示する権限がないことに起因していることが考えられます。回避方法としては、下記をご検討ください。
  • ファイルをサブフォルダにコピーしてから、サブフォルダからファイルにアクセスする
  • Amazon S3 環境のアクセス許可で「パブリックアクセスをすべて ブロック」を「オフ」にする
  • MATLAB R2020b 以降のバージョンを使用する 

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB 入門에 대해 자세히 알아보기

제품

릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!