<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Azure | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/azure/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Tue, 21 Mar 2023 20:43:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>Azure | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://laboratory.kazuuu.net/category/azure/feed/"/>
	<item>
		<title>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナのデータを削除する</title>
		<link>https://laboratory.kazuuu.net/delete-container-data-in-azure-cosmos-db-database-using-azure-cosmos-in-python/</link>
					<comments>https://laboratory.kazuuu.net/delete-container-data-in-azure-cosmos-db-database-using-azure-cosmos-in-python/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 21 Mar 2023 20:43:14 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13689</guid>

					<description><![CDATA[Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナのデータを削除してみます。 この記事は「Pythonでazure-cosmosを用いてAzure Cosmos DBデー [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナのデータを削除してみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/inserting-data-into-a-container-in-the-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナにデータを削除する</a>」という記事の続きでもあります。</p>
<p>なお、今回もazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-azure-cosmos-microsoft-azure-cosmos-client-library-for-python">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■仮想環境に入る</a><ol><li><a href="#toc3" tabindex="0">■仮想環境への切り替え</a></li></ol></li><li><a href="#toc4" tabindex="0">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■仮想環境に入る</span></h2>
<p>今回はazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナのデータを削除しますが、まずWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd azure-cosmos-example</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure-cosmos-example」ディレクトリ内に移動します。</p>
<h3><span id="toc3">■仮想環境への切り替え</span></h3>
<pre>C:\Users\user_\azure-cosmos-example&gt;.venv\Scripts\activate.bat</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。今回は仮想環境下でazure-cosmosをインストールしていますので、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc4">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</span></h2>
<p>仮想環境に入った後に「azure-cosmos-example」ディレクトリ内に「db_data_delete.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内のコードを記述していきます。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>from azure.cosmos import CosmosClient

URL = "URI"
KEY = "プライマリキー"
client = CosmosClient(URL, credential=KEY)
DATABASE_NAME = 'test_db'
database = client.get_database_client(DATABASE_NAME)
CONTAINER_NAME = 'test_1'
container = database.get_container_client(CONTAINER_NAME)

container.delete_item(item="item1",partition_key="田中")</pre>
<p>from importでazure.cosmosのCosmosClientを呼び出します。その後、URLとKEYという変数を定義し、その中にURLとプライマリキーを格納します。（<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">読み取り/書き込みキーとURLの取得</a>）</p>
<p>その後、clientという変数を定義し、その中でCosmosClient()を用います。括弧内には、第1の引数,パラメータとしてURL変数を渡します。次に第2の引数,パラメータとしてKEYを渡します。これでCosmosClient の初期化を行います。</p>
<p>CosmosClient の初期化設定後、DATABASE_NAMEという変数を定義し、その中にデータベースの名前を格納します。今回は「<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成する</a>」で作成した「test_db」を格納します。</p>
<p>格納後、databaseという変数を定義し、その中でclient.get_database_client()を用います。括弧内には引数,パラメータとしてDATABASE_NAME変数を渡します。これで既存のデータベース（test_db）を取得されます。取得された情報が、database変数に格納されます。</p>
<p>格納後、CONTAINER_NAMEという変数を定義し、その中にデータを挿入・登録するコンテナの名前を格納します。今回は「<a href="https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a>」で作成した「test_1」を格納します。</p>
<p>格納後、containerという変数を定義し、その中でdatabase.get_container_client()を用います。括弧内には引数,パラメータとしてCONTAINER_NAME変数を渡します。これで引数,パラメータで渡した変数内の情報（ID・名前）を持つコンテナーを取得し、container変数内に格納します。</p>
<p>格納後、containerに対して、delete_item()を用います。括弧内には、第1の引数,パラメータとして削除するアイテムを表すID、名前もしくは辞書を渡します。今回は作成したコンテナ「test_1」内にitem1というIDが存在していますので、これを渡します。次に第2の引数,パラメータとして項目のパーティションキーの値を渡します。このパーティションキーは、「<a href="https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a>」で、PartitionKey（パーティションキー）を設定しましたが、これとは<span style="background-color: #ff99cc;">別で特定のアイテムのパーティションキーの値</span>を設定しなければいけないので、今回は作成したコンテナ「test_1」内のデータとして挿入・登録した「田中」という値を渡します。</p>
<p>これでAzure Cosmos DBデータベース内のコンテナのデータを削除することができます。</p>
<p>最後にコードを記述後、ファイルを保存します。</p>
<h2><span id="toc6">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;python db_data_delete.py</pre>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245.png"><img decoding="async" class="alignnone size-medium wp-image-13690" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245-300x166.png" alt="" width="300" height="166" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245-300x166.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245-768x426.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131245.png 776w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、何も出力されませんが、これでデータベース内のコンテナのデータが削除されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1.png"><img decoding="async" class="alignnone size-medium wp-image-13691" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1-300x189.png" alt="" width="300" height="189" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1-300x189.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1-1024x646.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1-768x485.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-09-131453-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>削除後、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「データ エクスプローラー」をクリックします。クリックすると、Azure Cosmos DBデータベース内のコンテナが確認でき、さらに今回指定したコンテナ内のデータが削除されていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/delete-container-data-in-azure-cosmos-db-database-using-azure-cosmos-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナにデータを挿入・登録する</title>
		<link>https://laboratory.kazuuu.net/inserting-data-into-a-container-in-the-azure-cosmos-db-database-using-azure-cosmos-in-python/</link>
					<comments>https://laboratory.kazuuu.net/inserting-data-into-a-container-in-the-azure-cosmos-db-database-using-azure-cosmos-in-python/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sat, 18 Mar 2023 20:42:32 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13665</guid>

					<description><![CDATA[Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナにデータを挿入・登録してみます。 この記事は「Pythonでazure-cosmosを用いてAzure Cosmos D [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナにデータを挿入・登録してみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a>」という記事の続きでもあります。</p>
<p>なお、今回もazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-azure-cosmos-microsoft-azure-cosmos-client-library-for-python">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■仮想環境に入る</a><ol><li><a href="#toc3" tabindex="0">■仮想環境への切り替え</a></li></ol></li><li><a href="#toc4" tabindex="0">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■仮想環境に入る</span></h2>
<p>今回はazure-cosmosを用いてAzure Cosmos DBデータベース内のコンテナにデータを挿入・登録しますが、まずWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd azure-cosmos-example</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure-cosmos-example」ディレクトリ内に移動します。</p>
<h3><span id="toc3">■仮想環境への切り替え</span></h3>
<pre>C:\Users\user_\azure-cosmos-example&gt;.venv\Scripts\activate.bat</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。今回は仮想環境下でazure-cosmosをインストールしていますので、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc4">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</span></h2>
<p>仮想環境に入った後に「azure-cosmos-example」ディレクトリ内に「test_db_data.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内のコードを記述していきます。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>from azure.cosmos import CosmosClient
URL = "URI"
KEY = "プライマリキー"
client = CosmosClient(URL, credential=KEY)
DATABASE_NAME = 'test_db'
database = client.get_database_client(DATABASE_NAME)
CONTAINER_NAME = 'test_1'
container = database.get_container_client(CONTAINER_NAME)

container.upsert_item({
    'id': 'item1',
    'test_Name':'田中',
    'test_model':'Model1'
    }
)</pre>
<p>from importでazure.cosmosのCosmosClientを呼び出します。その後、URLとKEYという変数を定義し、その中にURLとプライマリキーを格納します。（<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">読み取り/書き込みキーとURLの取得</a>）</p>
<p>その後、clientという変数を定義し、その中でCosmosClient()を用います。括弧内には、第1の引数,パラメータとしてURL変数を渡します。次に第2の引数,パラメータとしてKEYを渡します。これでCosmosClient の初期化を行います。</p>
<p>CosmosClient の初期化設定後、DATABASE_NAMEという変数を定義し、その中にデータベースの名前を格納します。今回は「<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成する</a>」で作成した「test_db」を格納します。</p>
<p>格納後、databaseという変数を定義し、その中でclient.get_database_client()を用います。括弧内には引数,パラメータとしてDATABASE_NAME変数を渡します。これで既存のデータベース（test_db）を取得されます。取得された情報が、database変数に格納されます。</p>
<p>格納後、CONTAINER_NAMEという変数を定義し、その中にデータを挿入・登録するコンテナの名前を格納します。今回は「<a href="https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a>」で作成した「test_1」を格納します。</p>
<p>格納後、containerという変数を定義し、その中でdatabase.get_container_client()を用います。括弧内には引数,パラメータとしてCONTAINER_NAME変数を渡します。これで引数,パラメータで渡した変数内の情報（ID・名前）を持つコンテナーを取得し、container変数内に格納します。</p>
<p>格納後、container.upsert_item()を用います。括弧内には引数,パラメータとしてコンテナに追加する辞書（データ）を渡します。なお、コンテナに追加する各要素（アイテム）は、コンテナ内で要素（アイテム）を一意に識別するため”id”キーを含める必要がある。なお、今回は「test_Name」というキーを設けているが、これは「<a href="https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a>」際に、PartitionKey（パーティションキー）を設定しています。辞書（データ）を渡すと、これで指定された辞書（データ）をコンテナへ挿入・登録、または更新が行われます。</p>
<p>最後にコードを記述後、ファイルを保存します。</p>
<h2><span id="toc6">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;python test_db_data.py</pre>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13667" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1-300x122.png" alt="" width="300" height="122" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1-300x122.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1-1024x415.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1-768x311.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-120927-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、何も出力されませんが、これでデータベース内のコンテナに指定された辞書（データ）が挿入・登録されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13668" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1-300x186.png" alt="" width="300" height="186" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1-300x186.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1-1024x636.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1-768x477.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-07-092002-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>挿入・登録後、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「データ エクスプローラー」をクリックします。クリックすると、Azure Cosmos DBデータベース内のコンテナが確認でき、さらに今回挿入・登録したデータも確認できました。</p>
<p>なお、今回挿入・登録したデータには日本語の文字列も含まれていたが文字化けせずに挿入・登録が行えた。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/inserting-data-into-a-container-in-the-azure-cosmos-db-database-using-azure-cosmos-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</title>
		<link>https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python/</link>
					<comments>https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Fri, 17 Mar 2023 20:39:00 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13645</guid>

					<description><![CDATA[Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成してみます。 この記事は「Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成してみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成する</a>」という記事の続きでもあります。</p>
<p>なお、今回もazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-azure-cosmos-microsoft-azure-cosmos-client-library-for-python">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■仮想環境に入る</a><ol><li><a href="#toc3" tabindex="0">■仮想環境への切り替え</a></li></ol></li><li><a href="#toc4" tabindex="0">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■仮想環境に入る</span></h2>
<p>今回はazure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成しますが、まずWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd azure-cosmos-example</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure-cosmos-example」ディレクトリ内に移動します。</p>
<h3><span id="toc3">■仮想環境への切り替え</span></h3>
<pre>C:\Users\user_\azure-cosmos-example&gt;.venv\Scripts\activate.bat</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。今回は仮想環境下でazure-cosmosをインストールしていますので、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc4">■azure-cosmosを用いてAzure Cosmos DBデータベース内にコンテナを作成する</span></h2>
<p>仮想環境に入った後に「azure-cosmos-example」ディレクトリ内に「test_db_container.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内のコードを記述していきます。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>from azure.cosmos import CosmosClient, exceptions,PartitionKey

URL = "URI"
KEY = "プライマリキー"
client = CosmosClient(URL, credential=KEY)
DATABASE_NAME = 'test_db'
database = client.get_database_client(DATABASE_NAME)
CONTAINER_NAME = 'test_1'

try:
    container = database.create_container(id=CONTAINER_NAME,partition_key=PartitionKey(path="/test_Name"))
except exceptions.CosmosResourceExistsError:
    container = database.get_container_client(CONTAINER_NAME)
except exceptions.CosmoHttpResponseError:
    raise</pre>
<p>from importでazure.cosmosのCosmosClientとexceptionsとPartitionKeyを呼び出します。その後、URLとKEYという変数を定義し、その中にURLとプライマリキーを格納します。（<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">読み取り/書き込みキーとURLの取得</a>）</p>
<p>その後、clientという変数を定義し、その中でCosmosClient()を用います。括弧内には、第1の引数,パラメータとしてURL変数を渡します。次に第2の引数,パラメータとしてKEYを渡します。これでCosmosClient の初期化を行います。</p>
<p>CosmosClient の初期化設定後、DATABASE_NAMEという変数を定義し、その中にデータベースの名前を格納します。今回は「<a href="https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python">Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成する</a>」で作成した「test_db」を格納します。</p>
<p>格納後、databaseという変数を定義し、その中でclient.get_database_client()を用います。括弧内には引数,パラメータとしてDATABASE_NAME変数を渡します。これで既存のデータベース（test_db）を取得されます。取得された情報が、database変数に格納されます。</p>
<p>格納後、CONTAINER_NAMEという変数を定義し、その中に作成するコンテナの名前を格納します。</p>
<p>格納後、try-except文を用いて、例外処理を設定します。クライアントの認証が成功した場合はdatabase.create_container()を用いて、データベース内にコンテナが作成されます。この時に括弧内に第1の引数,パラメータとして、CONTAINER_NAME変数を渡します。次に第2の引数,パラメータとしてPartitionKey（パーティションキー）を渡します。PartitionKey（パーティションキー）はパスを指定します。今回は「&#8221;/test_Name&#8221;」とします。</p>
<p>次にResource（リソース、データベース）内にすでにコンテナが存在する場合は、database.get_container_client()で既存のIDを持つコンテナを取得します。さらに、認証後に不成功のステータスコードを受信した場合は、raise文を使用します。</p>
<p>最後にコードを記述後、ファイルを保存します。</p>
<h2><span id="toc6">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;python test_db_container.py</pre>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13646" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1-300x156.png" alt="" width="300" height="156" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1-300x156.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1-1024x532.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1-768x399.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-085856-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、何も出力されませんが、これでデータベース内にコンテナが作成されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13647" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1-300x161.png" alt="" width="300" height="161" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1-300x161.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1-1024x550.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1-768x412.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-090309-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「データ エクスプローラー」をクリックします。クリックすると、azure-cosmosを用いて作成したAzure Cosmos DBデータベース内のコンテナが表示されていることが確認できました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13650" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1-300x159.png" alt="" width="300" height="159" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1-300x159.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1-1024x542.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1-768x407.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-06-121526-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>さらにAzure Cosmos DBデータベース内のコンテナに、database.create_container()を用いた時に引数,パラメータとして渡したPartitionKey（パーティションキー）である「&#8221;/test_Name&#8221;」が作成されていることも確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/create-a-container-in-azure-cosmos-db-database-using-azure-cosmos-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成する</title>
		<link>https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python/</link>
					<comments>https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 13 Mar 2023 20:47:42 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13631</guid>

					<description><![CDATA[Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成してみます。 今回はazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありません [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成してみます。</p>
<p>今回はazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-azure-cosmos-microsoft-azure-cosmos-client-library-for-python">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■読み取り/書き込みキーとURLの取得</a></li><li><a href="#toc3" tabindex="0">■azure-cosmosを用いてAzure Cosmos DBデータベースを作成する</a><ol><li><a href="#toc4" tabindex="0">■仮想環境への切り替え</a></li></ol></li><li><a href="#toc5" tabindex="0">■プログラムを作成する</a><ol><li><a href="#toc6" tabindex="0">■コード</a></li></ol></li><li><a href="#toc7" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■読み取り/書き込みキーとURLの取得</span></h2>
<p>azure-cosmosを用いてAzure Cosmos DBデータベースを作成するためには、クライアントを認証する必要があります。そのためには、読み取り/書き込みキーとURLの取得が必要です。</p>
<p>読み取り/書き込みキーとURLの取得は、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「設定」の「キー」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13635" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412-300x132.png" alt="" width="300" height="132" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412-300x132.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412-1024x452.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412-768x339.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-125412.png 1239w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「キー」のページが表示されますので、ページ内の「読み取り/書き込みキー」タブをクリックし、表示されている「URI」と「プライマリ キー」をコピーし保存します。これで読み取り/書き込みキーとURLの取得は完了です。</p>
<h2><span id="toc3">■azure-cosmosを用いてAzure Cosmos DBデータベースを作成する</span></h2>
<p>完了後、azure-cosmosを用いてAzure Cosmos DBデータベースを作成しますが、まずWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;cd azure-cosmos-example</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure-cosmos-example」ディレクトリ内に移動します。</p>
<h3><span id="toc4">■仮想環境への切り替え</span></h3>
<pre>C:\Users\user_\azure-cosmos-example&gt;.venv\Scripts\activate.bat</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。今回は仮想環境下でazure-cosmosをインストールしていますので、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc5">■プログラムを作成する</span></h2>
<p>仮想環境に入った後に「azure-cosmos-example」ディレクトリ内に「test_db.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内のコードを記述していきます。</p>
<h3><span id="toc6">■コード</span></h3>
<pre>from azure.cosmos import CosmosClient, exceptions

URL = "URI"
KEY = "プライマリキー"
client = CosmosClient(URL, credential=KEY)
DATABASE_NAME = 'test_db'
try:
    database = client.create_database(DATABASE_NAME)
except exceptions.CosmosResourceExistsError:
    database = client.get_database_client(DATABASE_NAME)</pre>
<p>from importでazure.cosmosのCosmosClientとexceptionsを呼び出します。その後、URLとKEYという変数を定義し、その中に先程コピーしたURLとプライマリキーを格納します。</p>
<p>その後、clientという変数を定義し、その中でCosmosClient()を用います。括弧内には、第1の引数,パラメータとしてURL変数を渡します。次に第2の引数,パラメータとしてKEYを渡します。これでCosmosClient の初期化を行います。</p>
<p>CosmosClient の初期化設定後、DATABASE_NAMEという変数を定義し、その中に作成するデータベースの名前を格納します。今回は「test_db」とします。</p>
<p>格納後、try-except文を用いて、例外処理を設定します。クライアントの認証が成功した場合はclient.create_database()を用いて、データベースが作成されますが、Resource（リソース）内にすでにデータベースが存在する場合は、client.get_database_client()でIDを持つ既存のデータベースを取得します。</p>
<p>コードを記述後、ファイルを保存します。</p>
<h2><span id="toc7">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure-cosmos-example&gt;python test_db.py</pre>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13633" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1-300x160.png" alt="" width="300" height="160" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1-300x160.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1-1024x545.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1-768x409.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131311-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、何も出力されませんが、これでデータベースが作成されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13634" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453-300x132.png" alt="" width="300" height="132" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453-300x132.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453-1024x450.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453-768x338.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-131453.png 1321w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「データ エクスプローラー」をクリックします。クリックすると、azure-cosmosを用いて作成したAzure Cosmos DBデータベースが表示されていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-azure-cosmos-db-database-with-azure-cosmos-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure Cosmos DBアカウントを作成する</title>
		<link>https://laboratory.kazuuu.net/create-an-azure-cosmos-db-account/</link>
					<comments>https://laboratory.kazuuu.net/create-an-azure-cosmos-db-account/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sat, 11 Mar 2023 20:39:07 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13619</guid>

					<description><![CDATA[Azure Cosmos DBアカウントを作成してみます。 Azure Cosmos DBは、最新のアプリ開発用のフル マネージド NoSQL データベース,Microsoft 独自のグローバル分散マルチモデルデータベー [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Azure Cosmos DBアカウントを作成してみます。</p>
<p>Azure Cosmos DBは、最新のアプリ開発用のフル マネージド NoSQL データベース,Microsoft 独自のグローバル分散マルチモデルデータベースです。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/create-register-a-free-azure-account">Azureの無料アカウントを作成（登録）する</a>」という記事の続きでもあります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■App Service plansを作成する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc2">■App Service plansを作成する</span></h2>
<p>作成したAzureの無料アカウントで「Microsoft Azure Portal（<a href="https://azure.microsoft.com/ja-jp/get-started/azure-portal/">https://azure.microsoft.com/ja-jp/get-started/azure-portal/</a>）」の「サインイン」からサインインを行います。サインインすると「Microsoft Azure」のホームが表示されます。ホームの上部にある「リソース、サービス、ドキュメントの検索」の検索バーで「Azure Cosmos DB」と入力します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13620" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1-1024x673.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1-768x504.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120442-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>入力すると検索結果として「サービス」で「Azure Cosmos DB」が表示されますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13621" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1-300x126.png" alt="" width="300" height="126" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1-300x126.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1-1024x432.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1-768x324.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120546-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Azure Cosmos DB」のページが表示されますので、ページ内の「Azure Cosmos DBアカウントの作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13622" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1-300x141.png" alt="" width="300" height="141" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1-300x141.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1-1024x482.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1-768x361.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-120801-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「API オプションの選択」が表示されますので、「コア (SQL) &#8211; 推奨」、「MongoDB 向けの Azure Cosmos DB API」、「Cassandra」、「Azure テーブル」、「Gremlin (グラフ)」のいずれか１つのAPI を選択します。なお、選択後、アカウントの作成した後にAPIの変更はできません。今回は「コア (SQL) &#8211; 推奨」の「作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13623" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1-300x107.png" alt="" width="300" height="107" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1-300x107.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1-1024x364.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1-768x273.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121153-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「Azure Cosmos DB アカウントの作成 &#8211; コア (SQL)」の「Basics」タブが表示されますので、プロジェクトの詳細などを入力・設定していきます。まず「サブスクリプション」は、無料アカウントで作成を行うので、今回は「Azure subscription 1」がすでに選択された状態となっています。このままで問題はないので、次に「リソースグループ」を選択します。「新規作成」のリンクをクリックすると、新しくリソースグループが作れますが、今回はすでに作成している「test01」を選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13624" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1-300x117.png" alt="" width="300" height="117" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1-300x117.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1-1024x400.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1-768x300.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-121552-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、ページ下に移動すると「インスタンスの詳細」で「アカウント名」をルールに従って入力します。今回は「test-0101」とします。入力後「場所」を選択します。今回は「(US)West US」を選択します。選択後「容量モード」で「プロビジョニングされたスループット」か「Serverless」のいずれかを選択します。今回は「プロビジョニングされたスループット」を選択します。この2つの容量モードの比較（<a href="https://docs.microsoft.com/ja-jp/azure/cosmos-db/throughput-serverless">https://docs.microsoft.com/ja-jp/azure/cosmos-db/throughput-serverless</a>）についてはこちらから。</p>
<p>選択後、「Free レベル割引の適用」で「適用」か「適用しない」のいずれかを選択します。今回は「適用」を選択します。次に「合計アカウント スループット（単位時間あたりに処理できる量）を制限する」で「このアカウントでプロビジョニングできるスループットの総量を制限する」のチェックボックスにチェックが入っているかを確認します。</p>
<p>確認後、「レビュー+作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13625" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1-300x271.png" alt="" width="300" height="271" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1-300x271.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1-1024x925.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1-768x694.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122323-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、設定したアカウントの検証が行われ、「レビュー + 作成」タブが表示され、「検証が完了しました」と表示されます。「レビュー + 作成」タブ内には「作成時刻」、「Basics」、「バックアップ ポリシー」、「ネットワーク」が表示されていますので、作成する前に確認します。</p>
<p>確認後、「作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13626" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617-300x113.png" alt="" width="300" height="113" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617-300x113.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617-1024x384.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617-768x288.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122617.png 1321w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、デプロイが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13627" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759-300x105.png" alt="" width="300" height="105" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759-300x105.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759-1024x357.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759-768x268.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-122759.png 1325w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると「デプロイが完了しました」と表示されます。これでデプロイは完了となります。</p>
<p>完了後、「リソースに移動」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13628" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1-1024x506.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1-768x380.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-123010-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、今回作成したAzure Cosmos DBアカウント「test-0101」の概要などが表示されます。これでAzure Cosmos DBアカウントの作成は完了となります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/create-an-azure-cosmos-db-account/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonを使用しAzure SQLデータベースのテーブルにデータを挿入・登録する</title>
		<link>https://laboratory.kazuuu.net/using-python-to-insert-data-into-azure-sql-database-tables/</link>
					<comments>https://laboratory.kazuuu.net/using-python-to-insert-data-into-azure-sql-database-tables/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Fri, 10 Mar 2023 20:41:39 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13611</guid>

					<description><![CDATA[Pythonを使用しAzure SQLデータベースのテーブルにデータを挿入・登録してみます。 この記事は「Pythonを使用しAzure SQLデータベースに接続しテーブルを作成する」の続きでもあります。 なお、Azur [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonを使用しAzure SQLデータベースのテーブルにデータを挿入・登録してみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/connect-to-azure-sql-database-and-create-tables-using-python">Pythonを使用しAzure SQLデータベースに接続しテーブルを作成する</a>」の続きでもあります。</p>
<p>なお、Azure SQLデータベースのテーブルにデータを挿入・登録するために、pyodbcモジュールを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-pyodbc-for-easy-access-to-odbc-databases">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■仮想環境への切り替え</a></li><li><a href="#toc3" tabindex="0">■pyodbcを用いてAzure SQLデータベースのテーブルにデータを挿入・登録する</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■実行・検証</a><ol><li><a href="#toc6" tabindex="0">■コード</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■仮想環境への切り替え</span></h2>
<pre>C:\Users\user_&gt;cd azure_db</pre>
<pre>C:\Users\user_\azure_db&gt;.venv\Scripts\activate.bat</pre>
<p>Pythonを使用しAzure SQLデータベースに接続しテーブルを作成する際に仮想環境を構築しましたが、仮想環境に入るために、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure_db&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc3">■pyodbcを用いてAzure SQLデータベースのテーブルにデータを挿入・登録する</span></h2>
<p>入った後に「azure_db」ディレクトリ内に「sql_db_data1.py」というスクリプトファイルを作成します。作成後、コードエディタでこのファイルを開き、ファイルの中身（コード）を記述していきます。</p>
<h3><span id="toc4">■コード</span></h3>
<pre>import pyodbc
db_server = 'サーバー名'
database = 'データベース名'
username = 'データベースのユーザー名'
password = 'データベースのパスワード'
driver = '{ODBC Driver 18 for SQL Server}'

with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+db_server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+password) as conn:
    with conn.cursor() as cursor:
        cursor.execute("INSERT INTO test1(id, name, price) VALUES (1, '田中', 100);")
        cursor.commit()</pre>
<p>今回はimportでpyodbcモジュールを呼び出します。その後、db_server,database,username,password,driverという変数をそれぞれ定義します。定義した後にそれぞれの変数にAzureでSQLデータベースを作成した際に設定したサーバー名,データベースのユーザー名,データベースのパスワードを格納します。格納後、driver変数内に今回は「{ODBC Driver 18 for SQL Server}」と記述します。記述後、ODBC Driver for SQL Server のダウンロード（<a href="https://docs.microsoft.com/ja-JP/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16">https://docs.microsoft.com/ja-JP/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16</a>）にアクセスし、Windows用のMicrosoft ODBC Driver 18をダウンロードします。今回はPC環境にあわせて「 Microsoft ODBC Driver 18 for SQL Server (x86)」をダウンロードし、ダウンロードされた「msodbcsql.msi」のファイルをダブルクリックします。ダブルクリックすると、「ODBC Driver 18 for SQL Serverのセットアップ」ウィザードが表示されますので、ウィザードを進めてインストールを行います。この「Microsoft ODBC Driver for SQL Server」がないまま、スクリプトファイルを実行すると、「pyodbc.InterfaceError: (&#8216;IM002&#8217;, &#8216;[IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 (0) (SQLDriverConnect)&#8217;)」というエラーが発生します。</p>
<p>インストール後、with構文とpyodbc.connect()を用います。pyodbc.connect()の括弧内には引数,パラメータとしてODBCドライバ,サーバ名,データベース名,ユーザID,パスワードを渡します。これでコネクション（通信路）取得します。取得後、with構文とconn.cursor()を用います。conn.cursor()でカーソルを作成します。カーソルは、クエリを実行し、データベースからレコードをフェッチするオブジェクトです。</p>
<p>カーソルを作成後、cursor.execute()を用います。括弧内には引数,パラメータとしてSQLクエリの実行を行うため、SQL文を渡します。今回は「INSERT INTO」で、前回作成した「test1」というテーブル内のid,name,priceという3つのカラム（列）に、1つずつデータを登録します。なお、今回は3つのカラム（列）に「1, &#8216;田中&#8217;, 100」というデータを登録します。</p>
<p>実行後、conn.commit()を用いて、変更内容を保存（コミット）します。保存（コミット）後、ファイルを保存します。</p>
<h2><span id="toc5">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure_db&gt;python sql_db_data1.py</pre>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13612" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1-300x109.png" alt="" width="300" height="109" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1-300x109.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1-1024x374.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1-768x280.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-083702-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、何も出力されませんが、データベースのテーブルへのデータの挿入・登録は完了となります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13613" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1-300x155.png" alt="" width="300" height="155" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1-300x155.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1-1024x529.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1-768x397.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-084006-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、「Microsoft Azure Portal」にログインし、ホームから「サービス」の「SQLデータベース」へ移動し、作成したデータベースの名前をクリック。クリックすると、データベースの詳細が表示され、左メニューから「クエリ エディター (プレビュー)」をクリックします。クリック後、作成したテーブルを指定し、クエリを実行してみると、今回追加したデータを確認することができました。確認できましたが、nameのカラム（列）（NVARCHAR:Unicode文字を含む可変長の文字列）に登録・挿入したデータ（日本語）が文字化けを起こしていた。</p>
<p>この文字化けを解消するためには、Unicode文字列の前にNプレフィックスを付けることで文字化けを解消できます。</p>
<h3><span id="toc6">■コード</span></h3>
<pre>cursor.execute("INSERT INTO test1(id, name, price) VALUES (2, N'佐々木', 110);")</pre>
<p>「sql_db_data1.py」のスクリプトファイル内のコードで、cursor.execute()を用い、括弧内には引数,パラメータとしてSQLクエリの実行を行うため、SQL文を渡したが、これを上記のコードに変更し、Unicode文字列の前に大文字の”N”を必ず記述する。</p>
<p>変更後、再度仮想環境に入り、スクリプトを実行してみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13614" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1-1024x504.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1-768x378.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-05-085018-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、今度はnameのカラム（列）（NVARCHAR）に登録・挿入したデータ（日本語）が文字化けせずに登録・挿入されていることを確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-python-to-insert-data-into-azure-sql-database-tables/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pythonを使用しAzure SQLデータベースに接続しテーブルを作成する</title>
		<link>https://laboratory.kazuuu.net/connect-to-azure-sql-database-and-create-tables-using-python/</link>
					<comments>https://laboratory.kazuuu.net/connect-to-azure-sql-database-and-create-tables-using-python/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 09 Mar 2023 20:42:05 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13602</guid>

					<description><![CDATA[Pythonを使用しAzure SQLデータベースに接続しテーブルを作成してみます。 接続のために今回はpyodbcモジュールを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前に [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonを使用しAzure SQLデータベースに接続しテーブルを作成してみます。</p>
<p>接続のために今回はpyodbcモジュールを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、<a href="https://laboratory.kazuuu.net/installation-of-pyodbc-for-easy-access-to-odbc-databases">事前にインストールする必要</a>があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■Python</a></li><li><a href="#toc2" tabindex="0">■仮想環境の構築</a></li><li><a href="#toc3" tabindex="0">■仮想環境への切り替え</a></li><li><a href="#toc4" tabindex="0">■pyodbcのインストール</a></li><li><a href="#toc5" tabindex="0">■プログラムを作成する</a><ol><li><a href="#toc6" tabindex="0">■コード</a></li></ol></li><li><a href="#toc7" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■Python</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-8343" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-1024x671.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949-768x503.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/05/スクリーンショット-2021-05-15-072949.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>今回のPythonのバージョンは、「3.8.5」を使用しています。（Windows10）（pythonランチャーでの確認）</p>
<h2><span id="toc2">■仮想環境の構築</span></h2>
<p>Pythonを使用しAzure SQLデータベースに接続してみますが、その前に仮想環境の構築を行い、インストールを行います。そのために、まずはWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;mkdir azure_db</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。「mkdir」コマンドで「azure_db」ディレクトリを作成します。</p>
<pre>C:\Users\user_&gt;cd azure_db</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure_db」ディレクトリ内に移動します。</p>
<pre>C:\Users\user_\azure_db&gt;py -3.8 -m venv .venv</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。本来だと「python -m venv .venv」で仮想環境のディレクトリ「.venv」を作成しますが、今回はPythonのバージョンを指定しています。なお、今回仮想環境のディレクトリ名は「.venv」としていますが、ご自身で変更は可能です。</p>
<p>Enterキーを押すと、何も出力されませんが、これで仮想環境の作成が完了となります。</p>
<h2><span id="toc3">■仮想環境への切り替え</span></h2>
<pre>C:\Users\user_\azure_db&gt;.venv\Scripts\activate.bat</pre>
<p>完了後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\azure_db&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc4">■pyodbcのインストール</span></h2>
<pre>(.venv) C:\Users\user_\azure_db&gt;pip install pyodbc</pre>
<p>仮想環境に入った後に、上記のコマンドを入力し、Enterキーを押します。これでpipを経由してpyodbcをインストールします。</p>
<pre>Collecting pyodbc
Using cached pyodbc-4.0.34-cp38-cp38-win_amd64.whl (75 kB)
Installing collected packages: pyodbc
Successfully installed pyodbc-4.0.34
WARNING: You are using pip version 20.1.1; however, version 22.2.2 is available.
You should consider upgrading via the 'c:\users\user_\azure_db\.venv\scripts\python.exe -m pip install --upgrade pip' command.
</pre>
<p>Enterキーを押すと、インストールが開始され、「Successfully installed（正常にインストールされました）」と出力されます。これが出力されればインストールは完了となります。今回「WARNING（警告）」も出力されましたが、エラーではないので、一旦無視します。</p>
<h2><span id="toc5">■プログラムを作成する</span></h2>
<p>インストール後、「azure_db」ディレクトリ内に「sql_db.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内にコードを記述します。</p>
<h3><span id="toc6">■コード</span></h3>
<pre>import pyodbc
db_server = 'サーバー名'
database = 'データベース名'
username = 'データベースのユーザー名'
password = 'データベースのパスワード'
driver = '{ODBC Driver 18 for SQL Server}'

with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+db_server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+password) as conn:
    with conn.cursor() as cursor:
        cursor.execute('''
                        CREATE TABLE test1(
                            id int primary key,
                            name nvarchar(50),
                            price int
                        )
        ''')
        consor.commit()</pre>
<p>今回はimportでpyodbcモジュールを呼び出します。その後、db_server,database,username,password,driverという変数をそれぞれ定義します。定義した後にそれぞれの変数にAzureでSQLデータベースを作成した際に設定したサーバー名,データベースのユーザー名,データベースのパスワードを格納します。格納後、driver変数内に今回は「{ODBC Driver 18 for SQL Server}」と記述します。記述後、ODBC Driver for SQL Server のダウンロード（<a href="https://docs.microsoft.com/ja-JP/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16">https://docs.microsoft.com/ja-JP/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16</a>）にアクセスし、Windows用のMicrosoft ODBC Driver 18をダウンロードします。今回はPC環境にあわせて「 Microsoft ODBC Driver 18 for SQL Server (x86)」をダウンロードし、ダウンロードされた「msodbcsql.msi」のファイルをダブルクリックします。ダブルクリックすると、「ODBC Driver 18 for SQL Serverのセットアップ」ウィザードが表示されますので、ウィザードを進めてインストールを行います。この「Microsoft ODBC Driver for SQL Server」がないまま、スクリプトファイルを実行すると、「pyodbc.InterfaceError: (&#8216;IM002&#8217;, &#8216;[IM002] [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 (0) (SQLDriverConnect)&#8217;)」というエラーが発生します。</p>
<p>インストール後、with構文とpyodbc.connect()を用います。pyodbc.connect()の括弧内には引数,パラメータとしてODBCドライバ,サーバ名,データベース名,ユーザID,パスワードを渡します。これでコネクション（通信路）取得します。取得後、with構文とconn.cursor()を用います。conn.cursor()でカーソルを作成します。カーソルは、クエリを実行し、データベースからレコードをフェッチするオブジェクトです。</p>
<p>カーソルを作成後、cursor.execute()を用います。括弧内には引数,パラメータとしてSQLクエリの実行を行うため、SQL文を渡します。今回は「CREATE TABLE」で「test1」というテーブルを作成し、テーブル内の列（カラム）は、id,name,priceの3つを作成します。これでSQLクエリが実行となります。</p>
<p>実行後、conn.commit()を用いて、変更内容を保存（コミット）します。保存（コミット）後、ファイルを保存します。</p>
<h2><span id="toc7">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\azure_db&gt;python sql_db.py</pre>
<pre>Traceback (most recent call last):
  File "sql_db.py", line 8, in 
    with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+db_server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+password) as conn:
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Reason: An instance-specific error occurred while establishing a connection to SQL Server. Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database). (47073) (SQLDriverConnect); [42000] [Microsoft][ODBC Driver 18 for SQL Server]接続文字列の属性が無効です。 (0); [42000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Reason: An instance-specific error occurred while establishing a connection to SQL Server. Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database). (47073); [42000] [Microsoft][ODBC Driver 18 for SQL Server]接続文字列の属 性が無効です。 (0)')</pre>
<p>実行してみると、上記のエラーメッセージが出力されました。出力された内容を確認すると「[パブリック ネットワーク アクセスの拒否] が [はい] に設定されているため、接続が拒否されました」ということでパブリック ネットワーク アクセスの変更を行います。</p>
<p>変更を行うために、「Microsoft Azure Portal」にログインし、ホームから「サービス」の「SQLデータベース」へ移動します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13605" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1-300x126.png" alt="" width="300" height="126" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1-300x126.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1-1024x429.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1-768x322.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125104-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>移動後、作成したデータベースの名前をクリックします。今回は「test_0101」。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13606" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1-300x150.png" alt="" width="300" height="150" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1-300x150.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1-1024x514.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1-768x385.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-122543-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、作成したデータベースの詳細が表示されますので、左メニューから「概要」をクリックし、さらに「サーバーファイヤーウォールの設定」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13607" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1-300x112.png" alt="" width="300" height="112" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1-300x112.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1-1024x383.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1-768x287.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-125552-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ネットワーク」のページが表示され、「パブリック アクセス」タブを選択します。タブ内に「ファイアウォール規則」という項目があるので、こちらで「クライアント IPv4アドレス(***.***.**.***)の追加」をクリックします。クリックすると、クライアント IPv4アドレスが追加されます。これで追加したクライアント IPv4アドレスからリソースにアクセスすることが可能となりました。</p>
<p>この状態で再びスクリプトを実行します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13608" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1-300x191.png" alt="" width="300" height="191" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1-300x191.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1-1024x650.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1-768x488.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-130151-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、今度は先程のエラーメッセージは出力されず、データベース内にテーブルが作成されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13609" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1-300x136.png" alt="" width="300" height="136" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1-300x136.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1-1024x464.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1-768x348.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-131437-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、「Microsoft Azure Portal」にログインし、ホームから「サービス」の「SQLデータベース」へ移動し、作成したデータベースの名前をクリック。クリックすると、データベースの詳細が表示され、左メニューから「クエリ エディター (プレビュー)」をクリックします。クリックすると、クエリ エディターが表示され、「テーブル」から作成したテーブルをクリックすると、ちゃんとテーブル内のカラム（列）も作成されていることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/connect-to-azure-sql-database-and-create-tables-using-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AzureでSQL データベースを作成する</title>
		<link>https://laboratory.kazuuu.net/creating-sql-databases-in-azure/</link>
					<comments>https://laboratory.kazuuu.net/creating-sql-databases-in-azure/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 08 Mar 2023 20:40:52 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13588</guid>

					<description><![CDATA[AzureでSQL データベースを作成してみます。 この記事は「Azureの無料アカウントを作成（登録）する」という記事の続きでもあります。 目次 ■PC環境■App Service plansを作成する ■PC環境 W [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>AzureでSQL データベースを作成してみます。</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/create-register-a-free-azure-account">Azureの無料アカウントを作成（登録）する</a>」という記事の続きでもあります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■App Service plansを作成する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc2">■App Service plansを作成する</span></h2>
<p>作成したAzureの無料アカウントで「Microsoft Azure Portal（<a href="https://azure.microsoft.com/ja-jp/get-started/azure-portal/">https://azure.microsoft.com/ja-jp/get-started/azure-portal/</a>）」の「サインイン」からサインインを行います。サインインすると「Microsoft Azure」のホームが表示されます。ホームの上部にある「リソース、サービス、ドキュメントの検索」の検索バーで「データベース」と入力します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13589" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1-300x153.png" alt="" width="300" height="153" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1-300x153.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1-1024x523.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1-768x393.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085729-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>入力すると検索結果として「サービス」で「SQLデータベース」が表示されますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13590" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1-300x191.png" alt="" width="300" height="191" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1-300x191.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1-1024x652.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1-768x489.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-085916-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「SQLデータベース」のページが表示されます。ページ内に「SQLデータベースの作成」ボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13591" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1-1024x637.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1-768x478.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090059-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「SQLデータベースの作成」ページが表示されます。ページ内では「基本」タブが表示されていますので、まずは基本の設定を行ってきます。「プロジェクトの詳細」の「サブスクリプション」では、今回無料アカウントでの作成となりますので「Azure subscription 1」が選択されていますので、このままで問題ありません。次に「リソースグループ」は、「新規作成」のリンクをクリックすると、新しくリソースグループを作成できますが、今回は事前に作成しておいた「test01」を選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13592" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1-300x84.png" alt="" width="300" height="84" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1-300x84.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1-1024x287.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1-768x215.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090509-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、ページ下に移動すると「データベースの詳細」の項目が表示されますので、「データベース名」をルールに従って入力します。今回は「test_0101」とします。入力後、「サーバー」を選択しますが、今回はサーバーを作成していないので、「新規作成」のリンクをクリックします。なお、「サーバー」の値を空にすることはできません。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13593" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1-300x69.png" alt="" width="300" height="69" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1-300x69.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1-1024x236.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1-768x177.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-090751-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「SQL Database サーバーの作成」のページが表示されますので、「サーバーの詳細」の「サーバー名」をルールに従って入力します。今回は「test0101-1」とします。入力後、「場所」を選択します。今回は「(US) East US」とします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13594" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1-300x164.png" alt="" width="300" height="164" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1-300x164.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1-1024x560.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1-768x420.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091113-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、ページの下に移動すると「認証」の項目がありますので、「認証方法」で「SQL 認証を使用する」、「Azure Active Directory (Azure AD) 認証のみを使用する」、「SQL と Azure AD 認証の両方を使用する」のいずれかを選択します。今回は「SQL 認証を使用する」を選択します。選択後「サーバー管理者ログイン」でルールに従ってログインの名前を入力します。今回は「test12345」とします。その後、「パスワード」でパスワードを入力し、「パスワードの確認」で再度パスワードを入力し、「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13595" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1-300x83.png" alt="" width="300" height="83" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1-300x83.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1-1024x284.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1-768x213.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091552-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「SQL データベースの作成」ページに戻り、「サーバー」で先程作成したサーバーが選択された状態となりますので、確認します。確認後、「SQL エラスティック プールを使用しますか?」の質問で「はい」、「いいえ」のいずれかを選択します。今回は「いいえ」を選択します。エラスティックプールは、決まった予算内で複数のデータベースのパフォーマンスを管理するためのシンプルかつコスト効率の良いソリューションが提供されるものです。</p>
<p>選択後、「コンピューティングとストレージ」の内容を確認します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13596" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1-300x142.png" alt="" width="300" height="142" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1-300x142.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1-1024x484.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1-768x363.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-091846-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認後、ページの下に移動すると「バックアップ ストレージの冗長性」という項目がありますので、「バックアップ ストレージの冗長性（何らかの障害が発生した場合に備え平常時からバックアップとして配置し運用する）」で「ローカル冗長バックアップ ストレージ（プライマリ リージョンの1つの物理的な場所内で、データを同期的に3回コピーする）」、「ゾーン冗長バックアップ ストレージ（プライマリリージョンの3つのAzure可用性ゾーン間でデータを同期的にコピーする）」、「geo 冗長バックアップ ストレージ（ローカル冗長ストレージ (LRS)を使用し、プライマリ リージョンの1 つの物理的な場所内で、データを同期的に3回コピーする）」のいずれかを選択します。今回は「geo 冗長バックアップ ストレージ」を選択します。</p>
<p>選択後「確認および作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13597" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1-300x174.png" alt="" width="300" height="174" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1-300x174.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1-1024x596.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1-768x447.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092539-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「確認および作成」タブが表示され、「製品の詳細」、「使用条件」、「基本」、「ネットワーク」、「セキュリティ」、「追加設定」、「タグ」が表示されていますので確認します。</p>
<p>確認後「作成」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13598" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1-300x128.png" alt="" width="300" height="128" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1-300x128.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1-1024x438.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1-768x329.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-092823-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、デプロイが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13599" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1-300x122.png" alt="" width="300" height="122" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1-300x122.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1-1024x415.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1-768x312.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093025-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、デプロイが完了となりますので「リソースに移動」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13600" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356-300x128.png" alt="" width="300" height="128" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356-300x128.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356-1024x437.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356-768x328.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-04-093356.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、今回作成したSQLデータベースへ移動します。これでSQLデータベースの作成は完了となります。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-sql-databases-in-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Flask Web アプリをAzure App Service にデプロイする</title>
		<link>https://laboratory.kazuuu.net/deploy-flask-web-app-to-azure-app-service/</link>
					<comments>https://laboratory.kazuuu.net/deploy-flask-web-app-to-azure-app-service/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 03:41:37 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Python【初歩から現場実務的なもの】]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13577</guid>

					<description><![CDATA[Flask Web アプリをAzure App Service にデプロイしてみます。 目次 ■PC環境■Python■仮想環境の構築■仮想環境への切り替え■flaskのインストール■プログラムを作成する■コード■実行・ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Flask Web アプリをAzure App Service にデプロイしてみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■Python</a></li><li><a href="#toc3" tabindex="0">■仮想環境の構築</a></li><li><a href="#toc4" tabindex="0">■仮想環境への切り替え</a></li><li><a href="#toc5" tabindex="0">■flaskのインストール</a></li><li><a href="#toc6" tabindex="0">■プログラムを作成する</a><ol><li><a href="#toc7" tabindex="0">■コード</a></li></ol></li><li><a href="#toc8" tabindex="0">■実行・検証</a></li><li><a href="#toc9" tabindex="0">■AzureでWebアプリを作成する（デプロイする）</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>azure-cli Version 2.39.0 インストール済み</p>
<h2><span id="toc2">■Python</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13581" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-300x168.png" alt="" width="300" height="168" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-300x168.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-1024x573.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-768x429.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1-320x180.png 320w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-124034-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回のPythonのバージョンは、「Python 3.9.13」を使用しています。（Windows10）</p>
<h2><span id="toc3">■仮想環境の構築</span></h2>
<p>Flask Web アプリをAzure App Service にデプロイしてみますが、その前に仮想環境の構築を行い、インストールを行います。そのために、まずはWindows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\user_&gt;mkdir flask_web</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。「mkdir」コマンドで「flask_web」ディレクトリを作成します。</p>
<pre>C:\Users\user_&gt;cd flask_web</pre>
<p>作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「flask_web」ディレクトリ内に移動します。</p>
<pre>C:\Users\user_\flask_web&gt;py -3.9 -m venv .venv</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。本来だと「python -m venv .venv」で仮想環境のディレクトリ「.venv」を作成しますが、今回はPythonのバージョンを指定しています。なお、今回仮想環境のディレクトリ名は「.venv」としていますが、ご自身で変更は可能です。</p>
<p>Enterキーを押すと、何も出力されませんが、これで仮想環境の作成が完了となります。</p>
<h2><span id="toc4">■仮想環境への切り替え</span></h2>
<pre>C:\Users\user_\flask_web&gt;.venv\Scripts\activate.bat</pre>
<p>完了後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。</p>
<pre>(.venv) C:\Users\user_\flask_web&gt;</pre>
<p>Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。</p>
<h2><span id="toc5">■flaskのインストール</span></h2>
<pre>(.venv) C:\Users\user_\flask_web&gt;pip install flask</pre>
<p>仮想環境に入った後に、上記のコマンドを入力し、Enterキーを押します。これでpipを経由してflaskをインストールします。</p>
<pre>Collecting flask
Using cached Flask-2.2.0-py3-none-any.whl (101 kB)
Collecting Jinja2&gt;=3.0
Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting importlib-metadata&gt;=3.6.0; python_version &lt; "3.10"
Using cached importlib_metadata-4.12.0-py3-none-any.whl (21 kB)
Collecting itsdangerous&gt;=2.0
Using cached itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting click&gt;=8.0
Using cached click-8.1.3-py3-none-any.whl (96 kB)
Collecting Werkzeug&gt;=2.2.0
Using cached Werkzeug-2.2.1-py3-none-any.whl (232 kB)
Collecting MarkupSafe&gt;=2.0
Using cached MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl (17 kB)
Collecting zipp&gt;=0.5
Using cached zipp-3.8.1-py3-none-any.whl (5.6 kB)
Collecting colorama; platform_system == "Windows"
Using cached colorama-0.4.5-py2.py3-none-any.whl (16 kB)
Installing collected packages: MarkupSafe, Jinja2, zipp, importlib-metadata, itsdangerous, colorama, click, Werkzeug, flask
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Werkzeug-2.2.1 click-8.1.3 colorama-0.4.5 flask-2.2.0 importlib-metadata-4.12.0 itsdangerous-2.1.2 zipp-3.8.1
</pre>
<p>Enterキーを押すと、インストールが開始され、「Successfully installed（正常にインストールされました）」と出力されます。これが出力されればインストールは完了となります。</p>
<h2><span id="toc6">■プログラムを作成する</span></h2>
<p>インストール後、「flask_web」ディレクトリ内に「app.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内にコードを記述します。</p>
<h3><span id="toc7">■コード</span></h3>
<pre>from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'こんにちは、世界！今日も未来は明るい。'


if __name__ == '__main__':
    app.run()</pre>
<p>今回はflaskモジュールでFlaskを呼び出します。</p>
<p>その後、appという変数を定義し、その中でFlask(__name__)を格納し、Flaskのインスタンスを作成します。作成後、「@app.route()」を用いてURLとfuncitonを関連付けします。今回のURLは「/」とし、関数はindex()という関数を定義します。関数が呼び出された時に実行される処理としては、returnとして日本語の文字列を返すものです。</p>
<p>次にif文を用いて「__name__ == &#8220;__main__&#8221;」と記述します。これでプログラムがPythonインタープリターによって直接実行される場合にのみ、ifステートメント内のコードを実行するようになります。今回実行するコードは「app.run()」でサーバーを起動するものです。</p>
<p>このコードをファイル内に記述した後は、ファイルを保存します。</p>
<h2><span id="toc8">■実行・検証</span></h2>
<p>保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。</p>
<pre>(.venv) C:\Users\user_\flask_web&gt;flask run</pre>
<pre>WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
</pre>
<p>実行すると、上記のメッセージが出力され、<em>開発サーバーが実行されます</em>ので、メッセージ内の「http://127.0.0.1:5000」をコピーし、Webブラウザを起動。起動後、アドレスバーにコピーしたURLを貼り付けてアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13578" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1-300x122.png" alt="" width="300" height="122" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1-300x122.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1-1024x416.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1-768x312.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-03-083523-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、returnとして日本語の文字列が返され、ページ上に表示されることを確認できました。</p>
<h2><span id="toc9">■AzureでWebアプリを作成する（デプロイする）</span></h2>
<p>確認後、AzureでWebアプリを作成（デプロイ）します。</p>
<pre>(.venv) C:\Users\user_\flask_web&gt;az login</pre>
<p>作成（デプロイ）のために、上記のコマンドを入力し、Enterキーを押します。Azureにログインします。</p>
<pre>A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.</pre>
<pre>[
  {
    "cloudName": "AzureCloud",
    "homeTenantId": "*****-*****-****-****-*******",
    "id": "*****-*****-****-****-*******",
    "isDefault": true,
    "managedByTenants": [],
    "name": "Azure subscription 1",
    "state": "Enabled",
    "tenantId": "*****-*****-****-****-*******",
    "user": {
      "name": "*****@outlook.jp",
      "type": "user"
    }
  }
]</pre>
<p>Enterキーを押すと、自動的にWebブラウザが起動し、Azureのログインページが表示され、お持ちのアカウント（今回は無料アカウント）を選択すると、ログインが成功となります。成功後、ログイン後のページを閉じます。閉じた後にコマンドプロンプト上を確認すると、上記のメッセージが出力されますので、これでログインは完了となります。</p>
<pre>(.venv) C:\Users\user_\flask_web&gt;az webapp up --runtime PYTHON:3.9 --sku FREE --logs</pre>
<p>ログイン完了後、上記のコマンドを入力し、Enterキーを押します。「az webapp up」コマンドでWebアプリを作成し、ローカルワークスペースからアプリにコードをデプロイします。さらに「&#8211;runtime」オプションでアプリが動作しているPythonのバージョンを指定します。今回は「3.9」とします。また「&#8211;sku」オプションで、アプリのサービスプランのサイズ（CPU、メモリ）とコストを定義します。今回は「FREEプラン）」を定義します。次に「&#8211;logs」オプションでログを設定します。</p>
<pre>The webapp '****-***-***************' doesn't exist
Creating Resource group 'user_***' ...
Resource group creation complete
Creating AppServicePlan 'user_***' ...
Creating webapp '****-***-***************' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir C:\Users\user_\flask_web ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://***.azurewebsites.net
Configuring default logging for the app, if not already enabled
2022-08-02T23:52:41  Welcome, you are now connected to log-streaming service.
Exception in thread Thread-1 (_get_log):
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 697, in _update_chunk_length
ValueError: invalid literal for int() with base 16: b''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 438, in _error_catcher
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 764, in read_chunked
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 701, in _update_chunk_length
urllib3.exceptions.InvalidChunkLength: InvalidChunkLength(got length b'', 0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "threading.py", line 1016, in _bootstrap_inner
  File "threading.py", line 953, in run
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/appservice/custom.py", line 2613, in _get_log
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 572, in stream
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 752, in read_chunked
  File "contextlib.py", line 153, in __exit__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\urllib3/response.py", line 455, in _error_catcher
urllib3.exceptions.ProtocolError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))</pre>
<p>Enterキーを押すと、上記のエラーメッセージが出力されました。エラーが発生する原因を調べて、いろいろ試しましたが、同じエラーが発生してしまうため、Github内のazure-cliが公開されているページ（<a href="https://github.com/Azure/azure-cli/">https://github.com/Azure/azure-cli/</a>）に、この問題をバグレポート（<a href="https://github.com/Azure/azure-cli/issues/23420">https://github.com/Azure/azure-cli/issues/23420</a>）として投稿してみました。レポートを投稿し、この件は一旦終了とする。なお、また追記する可能性はあります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/deploy-flask-web-app-to-azure-app-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AzureでApp Service plansを作成する</title>
		<link>https://laboratory.kazuuu.net/creating-app-service-plans-in-azure/</link>
					<comments>https://laboratory.kazuuu.net/creating-app-service-plans-in-azure/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 03:37:54 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=13564</guid>

					<description><![CDATA[AzureでApp Service plansを作成することについて解説しています。（Windows 10） この記事は「Azureの無料アカウントを作成（登録）する」という記事の続きでもあります。 目次 ■PC環境■A [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>AzureでApp Service plansを作成することについて解説しています。（Windows 10）</p>
<p>この記事は「<a href="https://laboratory.kazuuu.net/create-register-a-free-azure-account">Azureの無料アカウントを作成（登録）する</a>」という記事の続きでもあります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■App Service plansを作成する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>Windows10</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-12528" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png" alt="" width="300" height="282" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-300x282.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-1024x963.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1-768x723.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/2022-06-07-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc2">■App Service plansを作成する</span></h2>
<p>作成したAzureの無料アカウントで「Microsoft Azure Portal（<a href="https://azure.microsoft.com/ja-jp/get-started/azure-portal/">https://azure.microsoft.com/ja-jp/get-started/azure-portal/</a>）」の「サインイン」からサインインを行います。サインインすると「Microsoft Azure」のホームが表示されます。ホームの上部にある「リソース、サービス、ドキュメントの検索」の検索バーで「App Service plans」と入力します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13565" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1-300x195.png" alt="" width="300" height="195" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1-300x195.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1-1024x664.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1-768x498.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142509-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>入力すると検索結果として「Services」で「App Service plans」が表示されますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13566" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1-1024x453.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1-768x340.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142655-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「App Service plans」が表示されます。ページ内に「Create app service plan」ボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13567" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1-300x141.png" alt="" width="300" height="141" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1-300x141.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1-1024x481.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1-768x361.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-142901-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「Create App Service Plan」が表示されます。ページ内では「Basics」タブが選択されており、この状態でApp Service Planを作成していきます。作成のために、「Subscription」を選択しますが、今回は無料アカウントのため、デフォルトで「Azure subscription 1」が選択されていますので、このままで問題はありませんので、次に「Resource Group」を選択します。今回は予め作成しておいたGroupである「test01」を選択します。「Create new」のリンクをクリックすると、新しいGroupが作成できます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13568" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1-300x196.png" alt="" width="300" height="196" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1-300x196.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1-1024x668.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1-768x501.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-143328-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Groupを選択後、タブの下に移動し、「App Service Plan details」の「Name」を入力します。今回は、「testapp01」とします。入力後、「Operating System」で「Linux」か「Windows」を選択できますので、いずれかを選択します。今回は「Linux」を選択します。選択後、「Region」で地域を選択します。今回は「Central US」を選択します。</p>
<p>次に「Pricing Tier（価格帯）」ですが、今回は無料アカウントで作成しますので、デフォルトで「Free F1」が設定されており、このままで、「Zone redundancy（ゾーンの冗長性）」を確認します。確認しますが、今回無料アカウントでの作成となるので、設定できないようになっていますので、「Zone redundancy」が「Disabled（無効）」となっているか確認するだけです。</p>
<p>確認後、「Review + create」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13570" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1-286x300.png" alt="" width="286" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1-286x300.png 286w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1-976x1024.png 976w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1-768x806.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144201-1.png 1250w" sizes="(max-width: 286px) 100vw, 286px" /></a></p>
<p>クリックすると、「Create App Service Plan」の「Review + create」タブが表示されます。タブ内に先程設定したApp Service PlanのSummary（まとめ）が表示されていますので、内容を確認し、「Create」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13571" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523-300x99.png" alt="" width="300" height="99" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523-300x99.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523-1024x340.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523-768x255.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144523.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、デプロイが開始され、しばらくすると「Your deployment is complete（デプロイが完了しました）」、「Deployment succeeded（デプロイ成功）」と表示されます。これでApp Service Planのデプロイが完了となります。</p>
<p>完了後、「Go to resource」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-13572" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1-300x159.png" alt="" width="300" height="159" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1-300x159.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1-1024x542.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1-768x407.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/08/スクリーンショット-2022-08-02-144950-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、今回作成したApp Service Planである「testapp01」の詳細が確認できます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-app-service-plans-in-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
