0

アプリケーションの一部が一意の名前 (拡張子なし) の小さなテキスト ファイルを追加する Google Cloud Platform にバケットがあります。

2 番目のアプリは、テンプレートに挿入するために個々のテキスト ファイルを (一度に 1 つだけ) 取得する必要があります。

これに対する正しい API 呼び出しが見つかりません。

構成は必要に応じて次のとおりです。

var gcloud = require('gcloud');

var gcs = gcloud.storage({
    projectId: settings.bucketName,
    keyFilename: settings.bucketKeyfile 
});
var textBucket = gcs.bucket(settings.bucketTitle);

バケットへの保存はうまく機能します。

textBucket.upload(fileLocation, function(err, file) {
    if(err) {
        console.log("File not uploaded: " + err);
    } else {
        // console.log("File uploaded: " + file);
    }
});

以下は論理的に見えますが、コールバックで使用する実際のファイルではなく、メタデータのみを返します。

textBucket.get(fileName, function(err, file) {
    if(err) {
        console.log("File not retrieved: " + err);
    } else {
        callback(file);
    }
});

実際には公式ドキュメントに記載されていないため、これが機能しないことはおそらく驚くことではありませんが、要求したドキュメントを返す単純な asnyc 関数でもありません。

4

1 に答える 1

1

オブジェクトのメソッドgetは、https ://googlecloudplatform.github.io/gcloud-node/#/docs/v0.29.0/storage/bucket?method=get に記載されています。Bucket

ファイルを単にメモリにダウンロードする場合はdownloadFileオブジェクトでメソッドを試してください: https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.29.0/storage/file?method=downloadcreateReadStreamストリーム ワークフローを使用する場合にも使用できます。

ドキュメントを改善するためのアイデアがある場合は、https://github.com/googlecloudplatform/gcloud-nodeで問題を開いていただければ、次の人が簡単にできるようになります。

于 2016-03-15T22:16:17.347 に答える