GitHub Actionsのアーティファクト容量を管理する retention-days設定

  • POST
GitHub Actionsのアーティファクト容量を管理する retention-days設定 はじめに GitHub Actionsでビルド成果物やデプロイ用のファイルをアーティファクトとしてアップロードする際、適切な保持期間を設定しないと、リポジトリの容量を圧迫してしまう問題が発生します。 特にデプロイ時に一時的に使用するだけのファイルは、長期間保存する必要がないため、retention-daysオプションを使用して自動削除の設定を行うことが推奨されます。 本記事では、GitHub Actionsのアーティファクト管理における retention-days の設定方法と、そのベストプラクティスについて解説します。 アーティファクトの容量問題 GitHub Actionsでアップロードされたアーティファクトは、デフォルトで90日間保持されます。 ビルドやデプロイを頻繁に実行するプロジェクトでは、この90日間で大量のアーティファクトが蓄積され、以下のような問題が発生する可能性があります。 ストレージ容量の圧迫: リポジトリのストレージ制限に達する コスト増加: GitHub Proや組織アカウントでは、ストレージ容量に応じて課金される 管理の煩雑化: 不要なアーティファクトの手動削除が必要になる retention-daysの設定方法 actions/upload-artifact@v4 アクションでは、retention-days パラメータを使用して、アーティファクトの保持期間を日数で指定できます。 基本的な設定例 デプロイ時に一時的に使用するビルド成果物の場合、5日程度の保持期間で十分です。 - name: 'Upload Artifact' uses: actions/upload-artifact@v4 with: name: build-artifact path: build.zip retention-days: 5 パラメータの詳細 name: アーティファクトの識別名 path: アップロードするファイルまたはディレクトリのパス retention-days: 保持期間(日数)。 まとめ GitHub Actionsのアーティファクトは、適切な retention-days 設定を行わないと、容量を圧迫してしまう可能性があります。 特にデプロイ用の一時ファイルは、5〜7日程度の短期間で自動削除されるように設定することで、ストレージ容量とコストの最適化が可能です。 本記事で紹介した設定例を参考に、プロジェクトの用途に応じた適切な保持期間を設定してください。 a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A1CfX"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/789749/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/J6100281917861.jpg?1696410860000"}});

【2025年06月】3大クラウド(Azure, AWS, Google Cloud)のAI系サービスリリースノート

  • POST
はじめに この記事では、Azure、AWS、Google Cloudの3大クラウドサービスのAIサービスの新規機能リリース履歴をまとめています。 主に以下のURLの情報をもとに新機能のキャッチアップを行っています。 Azure公式ドキュメント: Azure OpenAI Serviceニュース Azure公式ドキュメント: Azure AI Agent Serviceニュース Github: Azure公式ドキュメント管理リポジトリ Github: Azure OpenAI APIプレビューバージョン一覧 Github: Azure OpenAI API安定版バージョン一覧 AWS公式ドキュメント: AWS Bedrockリリースノート Google Cloud公式ドキュメント: Vertex AIリリースノート Anthropic公式ドキュメント: APIバージョン一覧 Azure 2025年06月17日: codex-mini と o3-pro モデルがリリース codex-mini と o3-pro モデルが利用可能になりました。 codex-miniは、OpenAIのo4-miniから派生した、コーディングタスクに特化したAIモデルです。 o3-proは6月10日にOpenAIから提供されたo3シリーズはで最も高性能なモデルです。 項目 o3-pro codex-mini リージョン East US2, Sweden Central(Global Standard) East US2, Sweden Central(Global Standard) アクセス要否 o3アクセス済みなら申請不要、それ以外は申請必要 アクセス申請不要 価格 $20(入力) / $80(出力) $1.

Azure FunctionsでWe were not able to load some functions in the list due to errorsエラーの対処

  • POST
はじめに Azure Functionsを運用していると、突然関数リストが表示されなくなり、「We were not able to load some functions in the list due to errors」というエラーメッセージが表示されることがあります。 本記事では、Application InsightsでOpenTelemetry(OTEL)を使用している場合に発生する、OTEL_SERVICE_NAME環境変数が未定義であることが原因のエラーについて、その原因と対処方法をご紹介します。 エラーの症状 Azure PortalでFunctionsのページを開いたときに、以下のようなエラーメッセージが表示され、関数のリストが読み込めなくなります。 We were not able to load some functions in the list due to errors. Refresh the page to try again. Error while loading Ask questions and use troubleshooting tools to investigate these errors. Diagnose and solve problems この状態では: 関数の一覧が表示されない 個別の関数の詳細も確認できない コード上ではApplication Insightsへのデータ送信は正常に動作している エラーの原因 このエラーは、Application InsightsでOpenTelemetry(OTEL)を使用している場合に、OTEL_SERVICE_NAME環境変数が設定されていないことが原因です。 Azure FunctionsでOpenTelemetryを使用してテレメトリデータを送信する際、サービス名を識別するためにOTEL_SERVICE_NAME環境変数が必要になります。

Azure Durable Functionsでスロット使用時にリクエストが別のスロットにルーティングされる事象

  • POST
はじめに 本記事では、Azure Durable Functions を使用して開発・運用されている方向けに、デプロイスロットを併用する環境で発生する「リクエストが別スロットにルーティングされる事象」について解説します。 特に、本番と検証で同一のストレージアカウントを利用している場合は注意が必要です。 Azure Durable Functionsとは Azure Durable FunctionsはAzure Functionsの拡張機能です。 詳細は以下の記事をご参照ください。 Azure Durable Functionsとは 事象 Azure Durable Functions において2つのスロット(production と staging)で運用をしていました。 上記構成においてstagingスロット上のアプリにリクエストしていたにも関わらず、オーケストレーター関数がproductionのアクティビティ関数を実行する事象が発生していたため調査を行いました。 原因 Durable Functions では、状態管理およびオーケストレーション処理に Azure Storage(Queue や Table)を使用しています。 このとき、本番と検証のスロットで同一のストレージアカウントおよび同一の TaskHubName を利用している場合、Durable Functions のステート情報が混在し、スロット間でリクエストが交差してしまうことがあります。 詳細は以下の Stack Overflow のディスカッションもご参照ください: Azure Durable Functions invoked in mixed slots 対策 1. host.json の Task Hub 名をスロットごとに分ける Durable Functions では host.json ファイルで durableTask.hubName を指定できます。スロットごとに異なる名前を明示的に設定することで、ステートの混在を防止できます。 { "version": "2.

Azure Functions作成時に「Linux dynamic workers are not available in resource group 」が発生したときの対処

  • POST
はじめに Azureにおいて、従量課金プランのFunctionsを作成した際に、エラーが発生し、Functionsが作成できなるなることがあります。 本記事では、上記事象の原因と対応方法についてご紹介します。 Linux dynamic workers are not available in resource group <リソースグループ名>エラー 上記のエラーはAzure の仕様により、同一リソースグループ内に Windows と Linux の App Service Plan を混在できないことを示しています。 対象のリソースグループに一度でも Windows の App Service Plan を作成すると、たとえ削除しても Azure 基盤側にその情報が保持され、そのリソースグループ内では Linux の Dynamic SKU(従量課金プラン)を新規作成できなくなります。 公式ドキュメント 対処方法 結論としては、別のリソースグループを新たに作成し、そちらに Azure Functions(Linux/Consumption Plan)を作成することでFunctionsの作成が可能になります。 おわりに 本記事では、「Linux dynamic workers are not available in resource group」というエラーの原因とその対処方法について説明しました。 a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A1CfX"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/789749/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/J6100281917861.jpg?1696410860000"}}); a8adscript('body').showAd({"req": {"mat":"3HREPM+6UHH82+279M+HUSFL","alt":"商品リンク","id":"3IzcOOW-g7-u2A2FzR"},"goods": {"ejp":"h"+"ttps://ebookjapan.yahoo.co.jp/books/721208/","imu":"h"+"ttps://cache2-ebookjapan.akamaized.net/contents/thumb/m/F0100169654961.jpg?1663322311000"}});

Vertex AI GroundingのRest API仕様の調査

  • POST
はじめに この記事では、VertexAIのGroundingをREST API仕様についてまとめています。 公式ドキュメントにはSDKを使った例は載っていたのですが、REST APIを使った例が古いAPI仕様に基づくものになっていたので、紹介します。 Groundingとは Vertex AIの「Grounding」は、生成AIモデルの出力を信頼できる情報源に結びつけ、回答時に出典が明記したレスポンスを生成する機能です。 現状は、以下の2種類のGroundingが可能です。 Google 検索によるGrounding ユーザー独自データでのGrounding Google Cloud公式ドキュメント: Grounding 料金 VertexAI GroundingでGemini 2.0 Flashを使った場合の料金は以下のようになっています。 1日1500件までは無料ですが以降は1000件当たり、$35と割高 1日のリクエスト数 料金(米ドル 備考 ~1,500件 無料 無料枠 1,501~1,000,000件 $35 / 1,000件 従量課金 1,000,001件以上 要問い合わせ アカウント担当者に要連絡 公式ページ: Vertex AI Pricing ちなみに、AzureでGroundingをする場合も1000件当たり$35。 プラン名 最大コール数 料金 主な特徴 Grounding with Bing Search 1秒あたり150トランザクション1日あたり100万件 $35 / 1,000トランザクション - Bing Search APIを活用したグラウンディング- Azure AI Foundry Agentの知識ソースとして利用可 Grounding with Bing Custom Search 1秒あたり150トランザクション1日あたり100万件 $35 / 1,000トランザクション - カスタム検索空間を指定してグラウンディング- Azure AI Foundry Agentの知識ソースとして利用可 公式ページ: Microsoft Bing Grounding API Pricing

ObsidianのGit PluginでWindowsとAndroidでノートを同期方法を紹介(画面操作説明付き)

  • POST
はじめに この記事では、ObsidianのGit Pluginを使って、WindowsとAndroid間でノートを同期する方法を、実際の画面操作を交えながら解説します。 Obsidianは強力なノートアプリですが、標準ではクラウド同期機能が有料です。 そこで、無料で使えるGitを活用し、複数端末でノートを安全かつ簡単に同期する手順を紹介します。 2025/07/11追記 Android版のGitプラグインが不安定で起動に失敗するケースが多いようなので、代替方法をこちらの記事に記載しました。 必要なもの GitHubアカウント ノートを保存するリポジトリ作成に必要です。 Gitクライアント Windows PCでGit操作を行うために必要です。 Obsidian ノート管理アプリ本体。Windows版・Android版をそれぞれインストールしてください。 Obsidian Git Plugin ObsidianでGit操作を自動化するためのプラグインです。 Termux(Androidのみ) AndroidでGitコマンドを利用するためのLinux環境アプリです。 F-Droid(Androidのみ) Termuxをインストールするためのオープンソースアプリストアです。 Gitリポジトリを作成 Obsidianのノートを格納するためのリポジトリをGitHubで作成します。 リポジトリ名を入力し、Privateリポジトリを作成します。 Gitのパーソナルアクセストークンを発行 ObsidianがGitを操作するために使用するパーソナルアクセストークン(PAT)を発行します。 Windows PCの操作 ローカルにリポジトリをクローン 以下のコマンドを実行し、リポジトリをローカルPCにクローンする。 git clone https://{Gitパーソナルアクセストークン}@github.com/{ユーザー名}/{リポジトリ名}.git ObsidianにGit Pluginをインストール Obisidianを開き、Git Pluginをインストールします。 Obsidianの「設定」→「コミュニティプラグイン」から「Obsidian Git」を検索し、インストールします。 インストールが完了したら、画面下部の歯車アイコンをクリックし、Gitの設定を行います。 Auto commit-and-sync interval (minutes)とAuto commit-and-sync after stopping file edits:を設定すると、編集後に自動的にGitに変更内容が反映されるようになります。 各設定値の意味はこちらのブログに分かりやすくまとめられていましたので、ご参照下さい。 note: Obsidian Git の導入とカスタマイズ設定

【2025年04月】3大クラウドのAI系サービスリリースノート

  • POST
はじめに この記事では、Azure、AWS、Google Cloudの3大クラウドサービスのAIサービスの新規機能リリース履歴をまとめています。 主に以下のURLの情報をもとに新機能のキャッチアップを行っています。 Azure公式ドキュメント: Azure OpenAI Serviceニュース Github: Azure公式ドキュメント管理リポジトリ Github: Azure OpenAI APIプレビューバージョン一覧 Github: Azure OpenAI API安定版バージョン一覧 AWS公式ドキュメント: AWS Bedrockリリースノート Google Cloud公式ドキュメント: Vertex AIリリースノート Anthropic公式ドキュメント: APIバージョン一覧 Azure 2025年04月05日: Azure FunctionsがMCPトリガーに対応 Azure FunctionsがMCP(Model Context Protocol)に対応したMCPトリガーが利用可能になりました。 VS Code上のGitHub CopilotなどのMCPクライアントからMCPトリガーのFunctionsをコールすることができるようになっています。 https://techcommunity.microsoft.com/blog/appsonazureblog/build-ai-agent-tools-using-remote-mcp-with-azure-functions/4401059 Microsoft公式ブログ: Azure FunctionsがMCPトリガーに対応 Zenn: MCPトリガーで現在時刻を応答するコードの例 2025年04月14日: Azure OpenAIでGPT-4.1が利用可能に OpenAIからリリースされたGPT-4.1がAzure OpenAIでも利用可能になりました。 最大100万トークン対応:従来のGPT-4o(12.8万トークン)を大幅に超える 3モデル展開:「GPT‑4.1」「GPT‑4.1 mini」「GPT‑4.1 nano」 mini:GPT-4o超えの知能、レイテンシ半減、コスト83%減 nano:1Mトークン対応、MMLU 80.

Anthropic Claude 3.7 Sonnetの拡張思考(Extended Thiking)をPython SDKから使用

  • POST
はじめに この記事では、Anthropic Claude 3.7 Sonnetから導入された拡張思考モードをPython SDKで実装する際のコードについて紹介します。 Anthropoc Caludeとは Anthropic Claudeは、Anthropic社が開発した高度なAI言語モデルです。 このモデルは、自然言語処理タスクにおいて高い性能を発揮し、特に会話型AIやテキスト生成、分析などの用途に適しています。 Anthropic Claudeは、AWSやGoogle Cloudなどのクラウドプラットフォームを通じて利用可能であり、さまざまな業界で活用されています。 Anthropic公式サイト Anthropic Claude 3.7 Sonnetとは 2025年2月にAnthropicから提供されたClaude Sonnetシリーズの最新モデルです。 3.7 Sonnetから新たに拡張思考モード(Extended Thinking mode)が導入されています。 Anthropic公式: Claude 3.7 Sonnet 拡張思考モードとは Claude 3.7 Sonnetは2つのモードで動作します。 標準モード:以前のClaudeモデルと同様に、内部の推論を表示せずに直接応答を提供 拡張思考モード:最終的な回答を提供する前にClaudeの推論プロセスを表示 拡張思考モードを使用した場合Reasoning model(推論モデル)として動作します。 Reasoning modelは、Chain of Thought(COT)という手法を活用することで、 問題解決や質問に対して、単に答えを返すのではなく、段階的に考えながら回答を導き出すAIモデルのことです。 モデルが推論の各ステップを明確に示すことができ、問題解決の過程を理解しやすくします。 Anthropic公式サイト: 拡張思考 拡張思考モード使用時の注意点 リクエストヘッダにのanthropic-betaフィールドにoutput-128k-2025-02-19を指定する必要がある リクエストヘッダに以下のように、output-128k-2025-02-19設定が必要です。 anthropic-beta: output-128k-2025-02-19 リクエストボディにthinkingパラメータを使用して、推論に使用するトークン予算(budget_tokens)を設定する 拡張思考モード使用時は回答生成とは別に、CoTによる推論でトークンが使用されるため、推論用のトークン数の予算を設定する必要があります。 "thinking": { "type": "enabled", "budget_tokens": 32000 } 設定するトークン予算(budget_tokens)はmax_tokens以下に設定する必要がある budget_tokensに設定している値がmax_tokens(出力時の最大トークン)を超過している場合は推論だけでトークン上限に達してしまうため、budget_tokensはmax_tokens以下に設定する必要があります。