2016-11-07 8 views
4

私のAzureテーブルストレージにjavascriptオブジェクト(またはエンティティ)を追加する場合は、まずentityGeneratorで実行する必要があります。AzureテーブルストレージデータモデルをNode.jsにマップする最も簡単な方法

私のオブジェクトは次のようになります。

{ 
    id: 1, 
    name: 'foo', 
    timestamp: new Date() 
} 

私はTableServiceに渡す必要があるエンティティは次のように見に行くされています

{ 
    id: { '_': 1, '$': 'Edm.Int32' }, 
    name: { '_': 'foo', '$': 'Edm.String' }, 
    timestamp:{ '_': new Date(), '$': 'Edm.DateTime' }, 
} 

これはまたのエンティティ形式ですTableServiceから返されます。

私のオブジェクトをテーブルストレージに送信するための正しいフォーマットにマップするのはかなり簡単ですが、戻ってきたエンティティをサービスから戻す簡単な方法を見つけられませんでした。 。

一般的なマッパー関数を作成してエンティティの_プロパティから値を取得できますが、一部のメタデータプロパティもエンティティ自体に渡されているようです。

JavaScriptオブジェクトとAzure Table Storageエンティティ間の簡単なマッピング方法を知っている人はいますか?

この機能は、azure-storageライブラリに含まれていますか?

答えて

-1

As Azure Storage SDK for Nodeは、ストレージレストAPIで実装されています。 Azure Storageのリソースを使用するには、SDKを活用し、自分でRest APIを実装することができます。

APIリファレンスによれば、E.G.

{ 
    "Address":"Mountain View", 
    "Age":23, 
    "AmountDue":200.23, 
    "[email protected]":"Edm.Guid", 
    "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833", 
    "[email protected]":"Edm.DateTime", 
    "CustomerSince":"2008-07-10T00:00:00", 
    "IsActive":true, 
    "[email protected]":"Edm.Int64", 
    "NumberOfOrders":"255", 
    "PartitionKey":"mypartitionkey", 
    "RowKey":"myrowkey" 
} 

我々は身体のプロパティの種類をdefindする必要があることを意味:Insert Entityは、我々のようなリクエストボディを生成する必要があります。

私の意見では、テーブルエンティティを生成する最も簡単な方法は、Azure Storage SDKをentityGeneratorの機能で使用することです。

さらに詳しいことがありましたら、お気軽にお知らせください。

+2

私はentityGeneratorの必要性を理解していますが、TableService(https://github.com/Azure/azure-storage-node/blob/master/lib/services)から生の値を返すことができるかどうかは疑問です/table/internal/odatahandler.js#L155)。私はこれらのODataの型とメタデータをJavaScriptのオブジェクトにまとめて、テーブルから取り出しておく必要はありません。このrawEntityをodatahandlerから返す方法はありますか? – Schaemelhout

関連する問題