2025年7月28日月曜日

サーバーの指定portの確認

 サーバー設定でSSLを登録する必要がある

インフラチームに仮想OSを用意してもらい

アプリの設定はこちらになったのですがSSL登録も一緒になった。

内部ネットワークではOKでしたが

外部ネットワークでは80、443がNGでした。

サーバーのport確認をpower shellで行った

 

Test-NetConnection -ComputerName [相手のIPアドレス] -Port [確認するポート番号]

 

相手サーバ側でnetstat -a を実行すると 80,443 で listen で問題ないように見えた

power shellのコマンドで確認出来て、相手にも説明しやすかった

  

2025年7月25日金曜日

AWS DynamoDBを.NET Core(.NET9)で読み込む

AWS DynamoDBが現在 本番DBとして稼働している

上記DBのレコードを出力して次期システムのDBにデータをロードしたい

nugetから  AWSSDK.DynamoDBv2 を インストールします

サンプルソースを実行したが

AWSに接続するにはアクセスキーIDとシークレットキーが必要 

基本的なことを知らなくて、接続出来なくて右往左往しました。

実行エラーを Copilot君に読ませたら、教えてくれました

 

アクセスキーIDとシークレットキーを設定するソース

using Amazon;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DataModel;
using System.Threading.Tasks;
//using AWStoSQL.Models;  テーブルをクラス化
using System.Text;
using System.IO;
using System.Reflection;

//アクセスキーIDとシークレットキーをセット
string accessKeyId = "あくせすきー";
string secretAccessKey = "しーくれっときー";

// DynamoDBクライアントを初期化
var config = new AmazonDynamoDBConfig
{
    RegionEndpoint = Amazon.RegionEndpoint.APNortheast1 // 例: us-east-1
};
var client = new AmazonDynamoDBClient(accessKeyId, secretAccessKey, config);

// DynamoDBから全件取得
var context = new DynamoDBContext(client);
var items = await context.ScanAsync<テーブルクラス>(new List<ScanCondition>()).GetRemainingAsync();

// CSV出力処理
var csvPath = "d:\\temp\\output.csv";
var properties = typeof(テーブルクラス).GetProperties(BindingFlags.Public | BindingFlags.Instance);

// ヘッダー作成
var sb = new StringBuilder();
sb.AppendLine(string.Join(",", properties.Select(p => p.Name)));

// データ行作成
foreach (var item in items)
{
    var values = properties.Select(p => {
        var value = p.GetValue(item, null);
        return value != null ? value.ToString().Replace(",", " ") : "";
    });
    sb.AppendLine(string.Join(",", values));
}

// ファイル書き込み
File.WriteAllText(csvPath, sb.ToString(), Encoding.UTF8);

Console.WriteLine($"CSVファイルを出力しました: {csvPath}");


ここからテーブルクラス

 using Amazon;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DataModel;
using System.Threading.Tasks;
namespace AWStoSQL.Models;

[DynamoDBTable("AWSのテーブル名")]

internal class Z_Committee
{
        [DynamoDBHashKey("id")]
        public double id { get; set; }

        [DynamoDBRangeKey("bookId")]
        public string bookId { get; set; }

        public int user_Id { get; set; }
        public string title { get; set; }
        public string? created_at { get; set; }
        public string? updated_at { get; set; }
}


2025年7月7日月曜日

インプロセス ホスティングは AspNetCoreModule ではサポートされていません。

MVC C俺Projectを公開時にエラー発生

インプロセス ホスティングは AspNetCoreModule ではサポートされていません。 

 

上記のエラーが発生したら Web.configの設定を変更 

<system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>



modules="AspNetCoreModule" -> "AspNetCoreModuleV2"