以下の内容はhttps://www.kwbtblog.com/entry/2020/01/29/173223より取得しました。


Google Cloud Storageのサブディレクトリ一覧をNode.jsで取得する方法

以前、Google Cloud Storageのサブディレクトリ一覧を、GCP Pyhtonライブラリを使って取得したのですが、そのNode.jsバージョンです。

Pythonバージョンはこちら

www.kwbtblog.com

手順

GCP Node.js SDKのドキュメントにサンプルがあるので親切ですね。

bucket.getFiles()を使い、「autoPaginate」を「false」、「delimiter」を「/」、「prefix」を「親ディレクトリ+/」にします。

すると、戻り値の「apiResponse」の「prefixes」配列に、サブディレクトリ一覧が入ります。

Promiseを使った場合、「apiResponse」は、戻り値配列の3番目の値になります。

以上を踏まえたコードは下記になります。

import { Storage } from '@google-colud/storage';

const storage = new Storage();
const bucket = storage.bucket('xxxx');

async (()=>{
    const files = await bucket.getFiles({
        autoPaginate: false,
        delimiter: '/',
        prefix: 'a/'
    });

    files[2].prefixes.forEach((dir:any)=>{
        console.log(dir);
    }
    // xxxx/a/01/
    // xxxx/a/02/
})();

感想など

クラウドストレージにおけるディレクトリについてのハマりポイントは、Pythonの記事を参照してください。

Python・JavaScript共に、結局同じAPIを呼び出しているのですが、言語によってライブラリの書き方が違うんですね。

統一して欲しい気もするのですが、言語で閉じているからこそ、スピーディーな更新ができるんでしょうね。

今回初めて、GCP Node.js SDKのPromiseを使いました。戻り値はコールバックのerr以降の引数が、配列で返ってくるので、データ取得はres[0]といった書き方をします。

戻り値が配列でなくオブジェクトだったらもっとカッコよかったのになぁ…。

関連記事

www.kwbtblog.com www.kwbtblog.com www.kwbtblog.com

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com




以上の内容はhttps://www.kwbtblog.com/entry/2020/01/29/173223より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14