Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft Python

AzureのTable StorageをPythonから操作する方法

投稿日:2022年11月20日 更新日:

 

<目次>

AzureのTable StorageをPythonから操作する方法
 当記事のゴール
 Azure Table StorageをPythonで操作するための基礎知識
 STEP0:Azure Storage Accountの作成
 STEP1:Azure Table Storageでテーブルを作成
 STEP2:Pythonで操作するサンプルプログラム

AzureのTable StorageをPythonから操作する方法

※注意:以前利用されていた azure-cosmosdb-table SDK はすでに廃止されています。
本記事では、Microsoft が提供する最新かつ推奨の azure-data-tables を用いた実装を解説します。

当記事のゴール

Pythonプログラムから、Azure Table Storageの基本操作(INSERT)を実行すること。
(図111)

目次にもどる 

Azure Table StorageをPythonで操作するための基礎知識

・Azure Table Storageは構造化されたNoSQL(キーと値の組合せ)データをクラウド上で扱える。
・RDBに見られるスキーマの概念はなく、簡易に扱える。
・RDBにおけるレコードの事を「エンティティ」と呼ぶ。
・プロパティ(≒カラム相当)はデフォルトで「PartitionKey」と「RowKey」と「TimeStamp」がある。
・「PartitionKey」はエンティティ(≒レコード)のグルーピングである。
・「PartitionKey」のスループットは2000件/秒である。
・従ってグルーピング出来るものは別パーティションにする事で、パフォーマンス低下を防ぐ事が可能(パーティション単位で他サーバに負荷分散出来るため)。
・「RowKey」はエンティティ(≒レコード)を一意に特定するキーである。
→(参考)Table Storageの詳細
(図112)

目次にもどる

STEP0:Azure Storage Accountの作成

Table StorageはAzure Storage Accountというリソースの中の1機能なので、先にストレージアカウントを作成しておく必要があります。
→(参考)ストレージアカウントの作成方法
目次にもどる

STEP1:Azure Table Storageでテーブルを作成

●STEP1-1:テーブル作成
・①Storage Accountの「テーブル」ブレードを選択して「+テーブル」を押下
Storage Accountの詳細はこちら
(図121①)


(図121②)


・③作成完了
(図121③)

目次にもどる

●STEP1-2:テーブル定義の設定
・①ストレージブラウザーを選択
(図122①)


・②テーブルを選択
(図122②)


・③対象のテーブルを選択
(図122③)


・④「+エンティティの追加」を押下
(図122④)


・⑤「プロパティの追加」を押下し、必要な列を追加します。
(図122⑤)


(図122⑥)


(図122⑦)

目次にもどる

STEP2:Pythonで操作するサンプルプログラム

●必要ライブラリのインストール
もし azure-data-tables ライブラリが未導入の場合は先に導入します。

pip install azure-data-tables

●サンプルプログラム

from azure.data.tables import TableServiceClient, UpdateMode

# 接続文字列(Azureポータルから取得)
connection_string = "DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=xxxx;EndpointSuffix=core.windows.net"

# テーブルクライアント生成
table_service = TableServiceClient.from_connection_string(conn_str=connection_string)
table_client = table_service.get_table_client(table_name="TestTableRainbow")

# DBに登録するエンティティ(キー&値のペア)
entity = {
    "PartitionKey": "GA",
    "RowKey": "0001_GA",
    "DepartmentName_ENG": "General Affairs",
    "DepartmentName_JPN": "総務部"
}

# Upsert(Insert or Replace 相当)
table_client.upsert_entity(mode=UpdateMode.REPLACE, entity=entity)

(図131)※図はイメージです。以前利用されていた azure-cosmosdb-table SDK のものです

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft, Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure Cosmos DBの使い方入門(作成~データ登録~SQL発行)

  <目次> (1) Azure Cosmos DBの使い方入門(作成~データ登録~SQL発行)  (1-0) Azure Cosmos DBとは?  (1-1) STEP1: Cosmos …

Pythonのvenvの使い方(基礎編)をご紹介

  <目次> (1) Pythonのvenvの使い方(基礎編)をご紹介  (1-1) venvとは?  (1-2) STEP1:仮想環境(venv)の作成  (1-3) STEP2:仮想環境 …

Bing AIのAPIを疎通(HelloWorld)

  <目次> (1) Bing AIのAPIを疎通(HelloWorld)  やりたいこと/概要  前提条件  STEP1:Bing Web Search APIにサインアップ  STEP2 …

Azure Machine LearningからAzure StorageのFile Shares(ファイル共有)のデータにアクセスする方法

  <目次> (1) Azure Machine LearningからAzure StorageのFile Shares(ファイル共有)のデータにアクセスする方法  やりたいこと  (1-1 …

右クリックで「マウント」が表示されない際の対処方法

  <目次> (1) 右クリックで「マウント」が表示されない際の対処方法  (1-1) 事象  (1-2) 原因  (1-3) 対策  (1-4) 用語「ISO」について  (1-5) 用語 …

  • English (United States)
  • 日本語
Top