解析AWS listObject响应JS / Vuejs

时间:2020-10-01 14:31:26

标签: javascript amazon-web-services vue.js

我正在使用vuejs,nodejs和S3从S3上载和检索图像,现在上载和下载部分功能完善,然后我需要在我的情况下针对某个路径上载图像

BucketName/account/{DynamicID}/renewal/{Filename}

让我告诉你代码

      async returnsFilesFromBucketFolders(path) {
    // Create Cognito Web Identity Federation credentials
      AWS.config.credentials = new AWS.CognitoIdentityCredentials({
        IdentityPoolId: VytalEntitiesURL.cognito.IDENTITY_POOL_ID,
        Logins: {
          // pass Cognito token here
          [`cognito-idp.us-east-1.amazonaws.com/${VytalEntitiesURL.cognito.USER_POOL_ID}`] : (await Auth.currentSession()).getIdToken().getJwtToken()
        }
      });
      AWS.config.region = "us-east-1"
      // call in case STS credentials are expired by the moment
      await AWS.config.credentials.getPromise()
      const s3 = new AWS.S3({region: 'us-east-1'});
      const s3Params = {
        Bucket: "BucketName",
        Prefix:path
        // Prefix: 'account/40/renewal'
      };

      let res=await s3.listObject(s3Params,async (err,data) => {
        console.log("ignore "+err);
        // console.log(data.response)
        return data;
      })

    return res;
},

上面的函数写为main.js下的mixin,该函数本身工作正常,可以返回数据,但问题是遍历它。下面是该函数返回的数据。 Response Image

从上面可以看到,响应是类型响应,我尝试使用JSON.parse和标准data.response进行许多其他操作,但仍然无法从中提取数据!有帮助吗?

0 个答案:

没有答案