C# (.NET 8) で DynamoDB に書き込む方法|Windows フォーム + AWS SDK

DynamoDB に書き込む

Visual Studio 2022 + Windows フォームアプリで AWSSDK.DynamoDBv2 を使い、C# (.NET 8) からAWS DynamoDB にデータを書き込む実装例を紹介します。

💡 AWS_ACCESS_KEY_ID などの認証情報をアプリ内でユーザー入力するケースを想定


🔰 前提条件

以下の環境を想定しています:

  • Windows 11 / 10
  • Visual Studio 2022
  • .NET 8(Windows Forms アプリ)
  • AWS IAM ユーザーのアクセスキー保有済み
  • DynamoDB テーブルが作成済み(例:MySampleTable

🛠 NuGet パッケージのインストール

まずは必要な AWS SDK パッケージをインストールしましょう。

1. AWSSDK.DynamoDBv2 の追加

Visual Studio の「ソリューションエクスプローラー」→「NuGet パッケージの管理」→「参照」タブで、以下のパッケージをインストールします:

AWSSDK.DynamoDBv2

またはパッケージマネージャーコンソールで:

Install-Package AWSSDK.DynamoDBv2

🖼 フォームのUI想定

フォームに以下の UI を設置します:

コントロールName備考
TextBoxtxtAccessKeyAWS_ACCESS_KEY_ID
TextBoxtxtSecretKeyAWS_SECRET_ACCESS_KEY
TextBoxtxtSessionTokenAWS_SESSION_TOKEN(省略可)
TextBoxtxtRegionAWS_DEFAULT_REGION
ButtonbtnRun書き込み実行ボタン

※ セキュリティ上、UseSystemPasswordChar = true 推奨

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html


💻 実装コード例

ボタンクリックで DynamoDB に書き込む処理

using Amazon;
using Amazon.Runtime;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

private async void btnRun_Click(object sender, EventArgs e)
{
    var accessKey = txtAccessKey.Text.Trim();
    var secretKey = txtSecretKey.Text.Trim();
    var sessionToken = txtSessionToken.Text.Trim();
    var regionString = txtRegion.Text.Trim();

    if (string.IsNullOrEmpty(accessKey) || string.IsNullOrEmpty(secretKey) || string.IsNullOrEmpty(regionString))
    {
        MessageBox.Show("必要な情報が入力されていません。");
        return;
    }

    RegionEndpoint region;
    try
    {
        region = RegionEndpoint.GetBySystemName(regionString);
    }
    catch
    {
        MessageBox.Show("リージョン名が不正です。例: ap-northeast-1");
        return;
    }

    AWSCredentials credentials = string.IsNullOrEmpty(sessionToken)
        ? new BasicAWSCredentials(accessKey, secretKey)
        : new SessionAWSCredentials(accessKey, secretKey, sessionToken);

    using var client = new AmazonDynamoDBClient(credentials, region);

    var request = new PutItemRequest
    {
        TableName = "MySampleTable",
        Item = new Dictionary
        {
            { "Id", new AttributeValue { S = Guid.NewGuid().ToString() } },
            { "Name", new AttributeValue { S = "テストユーザー" } }
        }
    };

    try
    {
        var response = await client.PutItemAsync(request);
        MessageBox.Show("DynamoDB に書き込み成功!");
    }
    catch (Exception ex)
    {
        MessageBox.Show("書き込みエラー: " + ex.Message);
    }
}

AWS_ACCESS_KEY_ID 保存場所

今回の例では環境変数を使わずにアプリ内で直接渡しています
そのため .aws/credentials や OSの環境変数には保存されません。


DynamoDB テーブルが存在しないときは?

PutItemAsync 実行時に「ResourceNotFoundException」が発生します。
テーブルが存在することを事前に確認しましょう(または CreateTableAsync を使って自動作成も可能です)。


🔐 セキュリティに関しての注意

この実装では AWS 認証情報を直接テキストボックスから入力しています。本番利用時には認証情報をハードコードしたりログに出力したりしないよう注意してください。


✅ まとめ

C# (.NET 8) + Windows Forms アプリケーションから AWS DynamoDB にデータを書き込むのは、AWSSDK.DynamoDBv2 と適切なクレデンシャルクラスを使うことで簡単に実現できます。


改行・カンマを含むCSVを正しく読み込む2つの方法

DateTimeを日本時間でISO 8601形式に変換する方法

ファイルから重複行を削除する2つの方法

【2025年】Windows 11がサードパーティ製アプリも自動更新へ!オーケストレーションアップデートとは?Windows Update Orchestration Platform(WUOP)

Windows Update Orchestration Platform

2025年、Windows 11に「Windows Update Orchestration Platform(WUOP)」という新機能が追加される予定のようです。

https://techcommunity.microsoft.com/blog/windows-itpro-blog/introducing-a-unified-future-for-app-updates-on-windows/4416354


オーケストレーションアップデートとは?

「オーケストレーションアップデート」とは、Windows OSの更新だけでなく、Zoom、Adobe、Visual Studio などのサードパーティ製アプリのアップデートもWindows Updateで一括管理する仕組みのことです。

これまで、アプリごとに個別のアップデートが必要でしたが、WUOPによってすべての更新が1つのプラットフォームで完結するようになります。


主な特徴とメリット

1. サードパーティ製アプリの統合更新

Microsoft Storeを経由しないWin32アプリ(例:OBS Studio、Discordなど)も、OSのアップデートと同時にバックグラウンドで自動更新される仕組みです。

2. ユーザーの利用状況に応じた更新スケジューリング

WUOPは、ユーザーのアクティビティやバッテリー残量などに基づき、最適なタイミングでアップデートを実行します。

3. 一元的な更新履歴と通知管理

すべてのアプリの更新状況が、Windowsの設定画面から確認可能に。通知も統合され、煩雑さが解消されます。

4. IT管理者向けの高度な制御

企業や組織向けには、更新のスケジュール設定や特定アプリの除外など柔軟なポリシー設定が可能になります。


現在の提供状況と対応アプリ

この機能は現在、一部の開発者に向けたプライベートプレビュー段階です。一般ユーザー向けにはまだ提供されていませんが、2025年後半から段階的にリリースされる見込みです。

対応が期待される主なアプリ

  • Visual Studio
  • Zoom
  • Adobe Acrobat

※正式対応にはアプリ開発者側の対応が必要です。


今後のアップデート予定

Microsoftは、より多くのアプリ開発者がWUOPに対応できるよう、APIの提供と開発支援を進めています。Windows Insider Programや公式ブログで今後の進展が発表される予定です。


Windows 11のクリップボード履歴とデバイス間共有の設定

Microsoft Authenticatorのオートフィル機能が2025年7月に終了

Microsoft純正の新しいコンソールエディタ「edit」が復活!

Windows 11 タスクバー左下の天気アイコンを消す方法

Windows 11 タスクバー左下の天気アイコンを消す方法

Windows 11 タスクバーの デフォルトでは 左に天気のアイコンがあります

タスクバーの 天気アイコンボタン

この部分へマウス移動させると 「ウィジェット」という ニュースなどが 出てくるウィンドウが表示されます。

ウィジェット (Windows 11)
ウィジェット (Windows 11)

この「ウィジェット」ですが、 かなりもっさりしていて 急いでいるときに誤ってマウスを左下に移動させてしまうと ストレスに感じます。

このステータスバーにある「天気アイコン」を消せば このウィジェットをクリックすることはなくなります。 そして、 ストレスも軽減されます。

ウィジェットアイコンを消す方法

[Windows スタート]ボタン をクリックしメニューから設定を選択します。

Windows スタートボタン

[設定]→[個人設定]→[タスクバー]に移動します。

設定からウィジェットをオフ

「ウィジェット」をオフにする

タスクバーの「天気アイコン」が消えます。

Windows 11のクリップボード履歴とデバイス間共有の設定

簡単PDFファイル結合|パスワード設定方法

簡単MBTI診断