如何从Azure表实体对象中提取所有属性?

时间:2015-09-02 22:23:39

标签: python-3.x azure-storage azure-table-storage

我有一个从Azure Table实体对象中提取特定属性的代码:

def run(self):

    file_handle=partition_key +'_blob.csv'


    ts=TableService(account_name='dev',account_key='eNiDww==')

    i=0

    next_pk=None
    next_rk=None


    part_k="PartitionKey eq '%s'"%(partition_key)

    with open(file_handle, 'a') as fp:    
        while True:
            entities=ts.query_entities('Eventsdata', filter=part_k,select = 'what goes here',next_partition_key=next_pk,next_row_key=next_rk,top=1000)
            i+=1
            json_dict={}
            for ent in entities:


                if hasattr(ent,'Day'):
                    day=ent.Day:
                else:
                    day=None

                if hasattr(ent,'EventDetailsJSON'):
                    eventJson=ent.EventDetailsJSON:
                else:
                    eventJson=None


                 if hasattr(ent,EventSubType):
                    eventSubtype=ent.EventSubType:
                else:
                    eventSubtype=None


                print(day,eventJson)
            \\
            if hasattr(entities,'x_ms_continuation'):
                x_ms_continuation=getattr(entities,'x_ms_continuation')
                next_pk=x_ms_continuation['nextpartitionkey']
                next_rk=x_ms_continuation['nextrowkey']
            else:
                break;

我可以指定尽可能多的字段并提取它们。

有没有办法在不指定特定字段的情况下提取所有属性?在tableservice.query_entities函数中,有一个可选的句柄用于选择字段,但不确定是否有一个命令来选择所有字段。

原因是如果将来添加更多属性,那么此代码将无法捕获它们。

1 个答案:

答案 0 :(得分:0)

如果您想获取所有字段,请不要为“选择”指定任何内容。