本文整理匯總了Python中azure.storage.TableService.insert_or_merge_entity方法的典型用法代碼示例。如果您正苦於以下問題:Python TableService.insert_or_merge_entity方法的具體用法?Python TableService.insert_or_merge_entity怎麽用?Python TableService.insert_or_merge_entity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類azure.storage.TableService
的用法示例。
在下文中一共展示了TableService.insert_or_merge_entity方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: friend_email_add
# 需要導入模塊: from azure.storage import TableService [as 別名]
# 或者: from azure.storage.TableService import insert_or_merge_entity [as 別名]
def friend_email_add(mine,friend):
#SEE if my tuple is there .. is not then create and add else simple merge
print("\n\n\n\n\ running addin table ")
table_service = TableService(account_name='*****', account_key='******')
try:
task = table_service.get_entity('friendlisttable', 'friend', mine)
count=task.count
print(count)
field="friend"+str(count+1)
data={field:friend,'count':(count+1)}
table_service.insert_or_merge_entity('friendlisttable','friend',mine,data)
print("value 1 inserted via merge")
except Exception as e:
print(e)
print("your account was not there")
data= {'PartitionKey':'friend','RowKey':mine,'count':1,'friend1':friend}
table_service.insert_entity('friendlisttable', data)
print("value 1 added via create")
try:
task = table_service.get_entity('friendlisttable', 'friend', friend)
count=task.count
print(count)
field="friend"+str(count+1)
data={field:mine,'count':(count+1)}
table_service.insert_or_merge_entity('friendlisttable','friend',friend,data)
print("value 2 inserted via merge")
except Exception as e:
print(e)
print("your account was not there")
data= {'PartitionKey':'friend','RowKey':friend,'count':1,'friend1':mine}
table_service.insert_entity('friendlisttable', data)
print("value 2 added via create")
print("added al \n\n\n ")
示例2: TableServiceTest
# 需要導入模塊: from azure.storage import TableService [as 別名]
# 或者: from azure.storage.TableService import insert_or_merge_entity [as 別名]
#.........這裏部分代碼省略.........
received_entity = self.ts.get_entity(
self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_update_entity_with_if_matches(self):
# Arrange
entities = self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition', '1')
resp = self.ts.update_entity(
self.table_name,
'MyPartition', '1', sent_entity, if_match=entities[0].etag)
# Assert
self.assertIsNotNone(resp)
received_entity = self.ts.get_entity(
self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_update_entity_with_if_doesnt_match(self):
# Arrange
entities = self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition', '1')
with self.assertRaises(WindowsAzureError):
self.ts.update_entity(
self.table_name, 'MyPartition', '1', sent_entity,
if_match=u'W/"datetime\'2012-06-15T22%3A51%3A44.9662825Z\'"')
# Assert
def test_insert_or_merge_entity_with_existing_entity(self):
# Arrange
self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition', '1')
resp = self.ts.insert_or_merge_entity(
self.table_name, 'MyPartition', '1', sent_entity)
# Assert
self.assertIsNotNone(resp)
received_entity = self.ts.get_entity(
self.table_name, 'MyPartition', '1')
self._assert_merged_entity(received_entity)
def test_insert_or_merge_entity_with_non_existing_entity(self):
# Arrange
self._create_table(self.table_name)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition', '1')
resp = self.ts.insert_or_merge_entity(
self.table_name, 'MyPartition', '1', sent_entity)
# Assert
self.assertIsNotNone(resp)
received_entity = self.ts.get_entity(
self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_insert_or_replace_entity_with_existing_entity(self):
# Arrange
self._create_table_with_default_entities(self.table_name, 1)
示例3: Azure
# 需要導入模塊: from azure.storage import TableService [as 別名]
# 或者: from azure.storage.TableService import insert_or_merge_entity [as 別名]
#.........這裏部分代碼省略.........
import copy, alxlib.node.info
dict = copy.deepcopy(self.msg_template)
dict["from"] = format(socket.gethostname())
dict["from-ip"] = alxlib.node.info.Info().get_ip()
dict["to"] = to
dict["reply-to-id"] = replyToId
dict["cmd"] = "pong"
dict['creation-time'] = str(self.get_timestamp_now())
self.msg_send(dict)
except:
logging.critical(_("Message creation failure"))
#helper
def get_time(self, timestamp):
try:
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
except:
return ""
def get_timestamp_now(self):
return time.time()
#table
def tbl_update(self, name, p, r, d):
try:
d["updatetime"] = str(self.get_timestamp_now())
self.tbl.create_table(name)
self.tbl.insert_or_merge_entity(name, p, r, d)
except Exception as e:
logging.critical("Error update_tbl {0}".format(e))
def tbl_row_query(self, name, q, n=1000, next_partition_key_=None, next_row_key_=None):
try:
self.tbl.create_table(name)
rows = self.tbl.query_entities(name, filter=q, top=n,
next_partition_key=next_partition_key_,
next_row_key=next_row_key_)
return rows
except Exception as e:
return None
def entity2dict(self, e):
try:
keys = dir(e)
d = {}
for key in keys:
d[key] = getattr(e, key, "")
return d
except:
return None
def update_net(self):
try:
info = Info().get_all()
self.tbl_update(self.tbl_name, self.tbl_net, info["hostname"], info)
except:
logging.warning("Error update_net")
示例4: TableServiceTest
# 需要導入模塊: from azure.storage import TableService [as 別名]
# 或者: from azure.storage.TableService import insert_or_merge_entity [as 別名]
#.........這裏部分代碼省略.........
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
resp = self.tc.update_entity(self.table_name, 'MyPartition', '1', sent_entity)
# Assert
self.assertIsNotNone(resp)
received_entity = self.tc.get_entity(self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_update_entity_with_if_matches(self):
# Arrange
entities = self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
resp = self.tc.update_entity(self.table_name, 'MyPartition', '1', sent_entity, if_match=entities[0].etag)
# Assert
self.assertIsNotNone(resp)
received_entity = self.tc.get_entity(self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_update_entity_with_if_doesnt_match(self):
# Arrange
entities = self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
with self.assertRaises(WindowsAzureError):
self.tc.update_entity(self.table_name, 'MyPartition', '1', sent_entity, if_match=u'W/"datetime\'2012-06-15T22%3A51%3A44.9662825Z\'"')
# Assert
def test_insert_or_merge_entity_with_existing_entity(self):
# Arrange
self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
resp = self.tc.insert_or_merge_entity(self.table_name, 'MyPartition', '1', sent_entity)
# Assert
self.assertIsNotNone(resp)
received_entity = self.tc.get_entity(self.table_name, 'MyPartition', '1')
self._assert_merged_entity(received_entity)
def test_insert_or_merge_entity_with_non_existing_entity(self):
# Arrange
self._create_table(self.table_name)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
resp = self.tc.insert_or_merge_entity(self.table_name, 'MyPartition', '1', sent_entity)
# Assert
self.assertIsNotNone(resp)
received_entity = self.tc.get_entity(self.table_name, 'MyPartition', '1')
self._assert_updated_entity(received_entity)
def test_insert_or_replace_entity_with_existing_entity(self):
# Arrange
self._create_table_with_default_entities(self.table_name, 1)
# Act
sent_entity = self._create_updated_entity_dict('MyPartition','1')
resp = self.tc.insert_or_replace_entity(self.table_name, 'MyPartition', '1', sent_entity)