- ファイルをサブフォルダにコピーしてから、サブフォルダからファイルにアクセスする
- Amazon S3 環境のアクセス許可で「パブリックアクセスをすべて ブロック」を「オフ」にする
- MATLAB R2020b 以降のバージョンを使用する
MATLAB から Amazon S3 上にあるファイルにアクセスできないのはなぜですか?
13 views (last 30 days)
Show older comments
MathWorks Support Team
on 15 Apr 2021
Edited: MathWorks Support Team
on 21 Apr 2021
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)を使用して、ファイルにアクセスはできます。何が原因か教えてください。
Accepted Answer
MathWorks Support Team
on 21 Apr 2021
Edited: MathWorks Support Team
on 21 Apr 2021
"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' を使用して、すべてのサブフォルダーのファイルを含めてください。
この場合、ご利用の環境において、バケットのコンテンツを一覧表示する権限がないことに起因していることが考えられます。回避方法としては、下記をご検討ください。
0 Comments
More Answers (0)
See Also
Categories
Find more on インストールとライセンスの紹介 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!