mkloubert / vscode-remote-workspace

Multi protocol support for handling remote files like local ones in Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=mkloubert.vscode-remote-workspace
GNU Lesser General Public License v3.0
207 stars 37 forks source link

Some folders do not show up #97

Open Stadly opened 5 years ago

Stadly commented 5 years ago

I have two AWS S3 buckets, each with several folders in them:

Storage
------------------------------------------
| Folder    | Total objects | Total size |
------------------------------------------
| Dp        |         20482 |    24.73GB |
| forum     |          4578 |     7.86GB |
| tutorials |            19 |   369.53MB |
------------------------------------------

Log
------------------------------------------
| Folder    | Total objects | Total size |
------------------------------------------
| email     |         49827 |     8.72GB |
| error     |          1904 |    49.61MB |
| log       |            45 |   180.72KB |
| not-found |          2258 |     8.68MB |
------------------------------------------

When connecting to the buckets using Remote Workspace, all the objects in Storage become available in the explorer, but for Log, only the folder error is shown. The folders email, log, and not-found do not appear in the explorer.

Stadly commented 5 years ago

I tried connecting to each folder individually, instead of each bucket. I am then successfully able to connect to the buckets Storage/Dp, Storage/forum, Storage/tutorials, and Log/error. I am not able to connect to Log/email, Log/log, or Log/not-found. They show up in the explorer with an exclamation mark saying "Can not resolve workspace folder".

If I go even one level deeper, it works. Log/email and Log/log contain folders, and these I am able to connect to. For example, I can connect to Log/email/2016-01 and Log/log/deadlock.

Log/not-found does not contain folders, but I tried connecting directly to a file. That did not work, but gives the same exclamation mark in the explorer saying "Can not resolve workspace folder".

ricardopieper commented 5 years ago

I'm also having this issue, even tried to make the bucket public to check if it was a permission issue, but nothing changed.

@Stadly did you find a solution?

Stadly commented 5 years ago

@ricardopieper Unfortunately not.

Stadly commented 4 years ago

I've enabled debug output to see what is happening.

When trying to retrieve Log/error, this is the debug output:

INFO s3 - [16/Dec/2019:13:31:31 +0000] "[AWS s3 404 0.194s 0 retries] getObject({ Bucket: 'Log', Key: 'error' })"
INFO s3 - [16/Dec/2019:13:31:31 +0000] "[AWS s3 200 0.163s 0 retries] getObject({ Bucket: 'Log', Key: 'error/' })"
INFO s3 - [16/Dec/2019:13:31:32 +0000] "[AWS s3 200 0.408s 0 retries] listObjectsV2({
  Bucket: 'Log',
  ContinuationToken: undefined,
  Prefix: 'error/'
})"
INFO s3 - [16/Dec/2019:13:31:32 +0000] "[AWS s3 200 0.445s 0 retries] listObjectsV2({
  Bucket: 'Log',
  ContinuationToken: 'some-token',
  Prefix: 'error/'
})"

When trying to retrieve Log/log, this is the debug output:

INFO s3 - [16/Dec/2019:13:29:17 +0000] "[AWS s3 404 0.195s 0 retries] getObject({ Bucket: 'Log', Key: 'log' })"
INFO s3 - [16/Dec/2019:13:29:17 +0000] "[AWS s3 404 0.171s 0 retries] getObject({ Bucket: 'Log', Key: 'log/' })"
TRACE fs.s3.s3filesystem.forconnection() - [16/Dec/2019:13:29:17 +0000] "(NoSuchKey) The specified key does not exist.

Stack:
    at c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\extension.js:131:64
    at ActionLogger.onLog (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:233:21)
    at ActionLogger.log (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:100:91)
    at ActionLogger.logSync (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:113:14)
    at ActionLogger.trace (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:136:21)
    at S3FileSystem.<anonymous> (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\fs\s3.js:133:22)
    at Generator.throw (<anonymous>)
    at rejected (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\fs\s3.js:21:65)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:89:5)"

When trying to retrieve Log/unknown, which does not exist, this is the debug output:

INFO s3 - [16/Dec/2019:13:38:39 +0000] "[AWS s3 404 0.194s 0 retries] getObject({ Bucket: 'Log', Key: 'unknown' })"
INFO s3 - [16/Dec/2019:13:38:39 +0000] "[AWS s3 404 0.171s 0 retries] getObject({ Bucket: 'Log', Key: 'unknown/' })"
TRACE fs.s3.s3filesystem.forconnection() - [16/Dec/2019:13:38:39 +0000] "(NoSuchKey) The specified key does not exist.

Stack:
    at c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\extension.js:131:64
    at ActionLogger.onLog (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:233:21)
    at ActionLogger.log (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:100:91)
    at ActionLogger.logSync (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:113:14)
    at ActionLogger.trace (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\node_modules\vscode-helpers\lib\logging\index.js:136:21)
    at S3FileSystem.<anonymous> (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\fs\s3.js:133:22)
    at Generator.throw (<anonymous>)
    at rejected (c:\Users\UserName\.vscode\extensions\mkloubert.vscode-remote-workspace-0.43.1\out\fs\s3.js:21:65)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:89:5)"

So the output is similar for unknown and log, even though log exists, while unknown does not!

Here you can see that log is shown in the AWS console:

image