ACS2.0でCo-Admin

ACS2.0の管理ポータルでCo-Admin追加できたんですねー&Live ID以外(Windows Azure Active Directoryも!)もOKだったんですねー。知らなかった。

image

image

 

管理用のURLにアクセスすればおなじみの認証画面が出ます。

image

WebSitesでPush通知用サーバー用意する

Windows Azure Toolkit for Windows 8を使うとPush通知用のサーバーをWindows Azure上で構築したりする雛形をゲットできます。

でもCloud Service使うしVisual Studio 2012 RCじゃテンプレートないしそもそもWin8RPにToolkit対応してないしソースも公開されてないしでもう(ry

※そのうち対応すると思いますが…

というわけで、Windows Azure Webサイトで動くようにPush通知サーバー用のプロジェクトをいじってみました。

これ。

続きを読む →

GridViewを弄りたい

Visual Studio 2012 RCのGridAppテンプレートとか見るとわかりますが、GridViewって便利そうだけど均一的な見た目でなんかもっさりですね。

タイルの大きさ変えたり、見た目に変化を付けたいのは人の常ということで、以下のサイトを参考に弄りましょう。

まずは適当にGridViewを継承したクラスを作って PrepareContainerForItemOverride メソッドをオーバーライドします。

using App5.Data;
using Windows.UI;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;

namespace App5.Common
{
	public class CustomGridView : GridView
	{
		protected override void PrepareContainerForItemOverride(Windows.UI.Xaml.DependencyObject element, object item)
		{
			var obj = item as SampleDataItem;
			var gi = element as GridViewItem;
			if (obj.Title == "Item Title: 1")
			{
				gi.SetValue(VariableSizedWrapGrid.ColumnSpanProperty, 2);
				gi.SetValue(VariableSizedWrapGrid.RowSpanProperty, 2);
				gi.Background = new SolidColorBrush(Colors.Azure);
			}
			base.PrepareContainerForItemOverride(gi, item);
		}
	}
}

 

今回はGridAppテンプレートそのまま使ってるので、SampleDataItemのタイトルがItem Title: 1のアイテムだけ2×2なサイズで配置するようにします。適当なので適宜修正しましょう。

PrepareContainerForItemOverride には配置しようとしてるアイテムが引数として渡されて呼ばれるので、あまり深く考えずそのアイテムをどう表示したいかだけ処理します。

もちろんStyleとかも変えられるので、App.Current.Resourceとか参照して設定してもいいと思います。

最後に作ったカスタムコントロールを使用するようにXAMLを書き換えて終了。

 

簡単(だけど面倒)ですね。

Now Available: New Services and Enhancements to Windows Azure

公式より抜粋というか名状しがたき(ry

いろいろ

  • VPN&Virtual Machines、Cache、Media ServicesはPreview Releaseです。利用規約はこちら

元ネタに記載のなかった事項として

    • MacからRDPでつながるようになった(らしい)
    • エンドポイントにInstanceInput(各インスタンスへダイレクトアクセス)が指定できるように

    • さらにEndpointのプロトコルにUDPが指定できるようになりました。

既存サービスの拡張:

  • SQL Reporting—SLAもできて正式リリース。オンプレミスで使ってたようなレポートがクラウド上でブラウザやモバイル、PC問わずアクセスできます。詳細は→ here.
  • Caching—新しいキャッシュサービス。現時点ではPreview Releaseです。Worker Role上に専用のサービスとして構築するか、各インスタンス上にインメモリな分散キャッシュ機能を加えることができます(WebRoleなどのアプリケーションと共存)。詳細は→ here.
  • Storage—既存のジオレプリケーションに加え、データセンター内だけのレプリケーションも選択できるようになりました。他には異なるストレージアカウント間のBlobのコピーや、Table/Queueに共有アクセス署名(SAS)が使えるようになったり。詳細は→ here.
  • Compliance— Windows AzureのコアサービスについてSSAE 16 (SOC 1 Type 2) の監査レポートが有効になりました。→ Windows Azure Trust Center.

新しいサービス:

  • Windows Azure Virtual Machines— 以前のVM Role。今時点でPreviewです。VHDのアップロード等、On-Premiseからクラウド上にサーバーやサービスを持って行けます。たとえば既存のSQL ServerやSharePointVirtual等をクラウドに移したり、Windows ServeやLinuxのイメージも展開できます。Windows Azure側でもイメージのテンプレートが用意されていて、ギャラリーから選択できます。 選択できるイメージテンプレートは以下の通り。
    • Windows Server
      • Windows Server 2008 R2
      • Windows Server 2008 R2 with SQL Server 2012 Eval
      • Windows Server 2012 RC
    • Linux:
      • OpenSUSE 12.1
      • CentOS 6.2
      • Ubuntu 12.04
      • SUSE Linux Enterprise Server 11 SP2

Virtual Machinesは新しい管理ポータル(Preview)やPowerShell、Windows Azure SDK(2012年6月版)を使ってアクセスできる他、MacやLinux向けのコマンドラインツールも提供されました。

  • Windows Azure Virtual Network— On-PremiseなPCとのVPN接続は以前からWindows Azure Connectがありましたが、1対1接続のみでした。Windows Azure Virtual NetworkではVPNゲートウェイを使用してLan to LanのVPNをサポートします(Preview機能)。例えば仮想マシンのIPアドレス範囲を定義したり、サービス用のDNSサーバーを指定したりできます。またIPSecを使用して企業ネットワークと安全にVPNゲートウェイ経由でVPNを張ることができます。例えば
    • パブリッククラウドの仮想の拡張ネットワークを構築することで、社内データセンターを仮想的に拡張
    • Windows Azureに既存の(レガシーなのも含めて)アプリケーションやサービスを移行するためのネットワークを提供
    • クラウドとオンプレミスのネットワークをまたがったハイブリッドなアプリの実行

など。

※現時点ではCisco ASAシリーズやISR/ASR、Juniper SSG/ISG、SRX/Jなどの機器向けのコンフィグをダウンロードして構成を助けることができます。

  • Windows Azure Web Sites—高い伸縮性を持ったウェブサイトやアプリケーションを数クリックで展開できます。 (Preview機能)
    • .NETを使用したモダンなアプリケーションやnode.js、PHPからSQL Database(今まででいうところのSQL Azure)やMySQL(ClearDBの提供サービス)を利用できます。
    • FTPやGit、Team Foundation Service(TFS)、WebDeployなどを使用してアプリケーションを構築・展開できます。またWebMatrixと統合して簡単に編集も可能。バージョン管理機能を利用して簡単に以前のバージョンを展開することもできます。
    • Joomla!やDotNetNuke、Umbraco、Wordpressのように人気のあるオープンソースのWebアプリケーションを簡単にデプロイできます。

 

ツールの改善と言語サポート:

  • Windows Azure Management Portal (Preview)– 新管理ポータル(Preview)はシナリオベースのリッチなインターフェース、リアルタイムなモニタリング用のチャート、診断データ、アプリケーションのヘルスに関する通知・アラートの管理、簡単なデプロイや設定変更、モニタリングとトラブルシュートができます。新管理ポータルではCloud Services、Virtual Machines、Web Sites、Virtual Network、SQL DatabaseとStorageをサポートします。
  • New tools, language support, and SDK—Windows Azure SDK2012年6月版にはJavaやPHP、.NET、Python用のツールが提供されています(Pythonは今回から追加)。またMac・Linux向け、Windows向け両方にコマンドラインツールが提供されています。
    • Windows Azure SDK for .NET
      • EmulatorにおけるIS Expressサポートの追加 
      • EmulatorにおけるLocalDBサポートの追加 
      • 専用Cachingサーバー(WorkerRole)の追加 
        • Visual StudioでDedicated Caching (Preview) rolesとして追加されています
      • Storage、Service Bus、共有キャッシュのクライアントライブラリの更新
      • Visual StudioでのService Busサポート
    • Windows Azure SDK for Java
      • Tableストレージ用ライブラリのラッパーを追加
    • Windows Azure SDK for Node.js
      • サービスランタイムのクライアントライブラリを追加
    • Windows Azure SDK for PHP
      • 以下のサービスのクライアントライブラリを追加 
        • Storage (Tables, Queues & Blobs)
        • Service Bus
        • Service Runtime
      • PowerShellコマンドレットによるパッケージングなどのツールが追加
    • Windows Azure SDK for Python
      • Windows/Linux/Max向けのPowerShellコマンドレットとクライアントライブラリが追加
      • (Python web framework でポピュラーな)Djangoのサポート
      • PTVSでWindows AzureとDjangoのサポート http://pytools.codeplex.com
      • Linux/WindowsのVirtual Machies向けに(Win/Mac/Linuxクライアントからの)IPythonサポート

価格改定:

  • Preview期間のVirtual Machinesの価格.  Previewの期間はWindows Server とLinuxは時間あたりXS:1.14円、S:7円、M:13.99円、L:27.98円、XL:55.95円 
  • Preview期間のSQL Server仮想マシンの価格.  プレビュー期間中、M 以上のサイズのインスタンスでは、Windows 仮想マシンと、イメージ ギャラリーからの SQL Server 2012 Evaluation のコピーを配置することもできます。SQL Server 2012 Enterprise の機能を使用するには、SQL Server 2012 Evaluation を L または XL の Windows Azure Virtual Machinesに配置する必要があります。SQL Server 2012 の評価版のコピーには費用はかかりませんが、上記のVirtual Machinesの料金が課金されます。
  • Graduated Pricing for Storage, CDN, and Network Egress.  Customers using these services will automatically see their costs go down as their usage volume increases There is no need to do anything special, if you are a Pay As You Go customer, you will receive this benefit automatically. 
  • Locally Redundant Storage.  地理的な冗長化(ジオレプリケーション)ではなく新しく追加されたデータセンター内のローカルなストレージの冗長化はジオレプリケーションに比べて33%ほどコストダウンすることができます。的な。
  • Price reduction for Storage and CDN transactions.  ストレージとCDNに対するトランザクションの課金が10,000トランザクションに対し$0.01ドルだったのが100,000トランザクションに対し$0.01ドルになりました。つまり90%コスト削減。

その他価格の詳細は here とか こちら

可用性の拡張

  • Availability in New Countries— Windows Azureは新しくロシア、韓国、台湾、トルコ、エジプト、南アフリカ、ウクライナを含む48か国の顧客に展開されます。ロールアウト後は89か国と19の現地通貨でWindows Azureが利用可能になります。(今月後半に完了予定?)

Windows 8 CPでタッチキーボードが消える

S7SでWindows 8 CPを快適に利用してるわけですが、たまにタッチキーボードが消えてどうしようもなくなる場合があります。

image ← これが消える

で下手するとOS再起動や強制電源OFF後の再起動でも直らなかったりします。

でまぁいろいろ見てると「Touch Keyboard and Handwriting Panel Service」なるサービスを再起動すればタッチキーボードがリセットされるみたいで、うまく表示されるようになりましたとさ。

image

まぁCPだからというのもあるけど、スレートでタッチキーボードがはんぐったり死ぬと何もできなくなる場合が多いので何とかしてほしいですねぇ。

RPには期待です!

Team Foundation Service Previewに接続してるソリューションが開かない

現在Preview公開中のTeam Foundation Serviceですが、このTFS Previewに接続してるVisual Studioのソリューションを開こうとするとソース管理のステータスを更新しています的なメッセージ(Updating source control status..)の状態で止まってうんともすんとも言わなくなるケースがあるみたいです。

どうもNuGetのバグっぽいようで、最新のNuGet 1.7にアップデートすることで解消するらしいとのこと。

実際アップデートしたらすんなりと開くように直りました。。。

もし嵌ってる人が居ればお試しあれ。

Azure Blob Storageのコンテナのパーミッションを変更する

小ネタです。Azure Storage Explorerだと出来なさそうだったのでPowerShellでサクッとAzure Blob Storageのコンテナのパーミッションを変更します。

  • Windows Azure PowerShell Cmdlets を利用するので、あらかじめインストールしておいてください。
  • 理屈的には大したことしてませんのでAzure SDKを使ったマネージコードでもできます。

Windows Azure PowerShell Cmdletsを起動して、Get-Containerコマンドでコンテナを取得します。

$container = Get-Container -StorageAccountName ***YourAzureStorageAccount*** -StorageAccountKey ***YourStorageKey***

 

取得できたらInstance(コンテナ)のGetPermission()メソッドを呼んで現在の権限を取得します。

$permission = $container[3].Instance.GetPermissions()

 

PublicAccessプロパティが現在の値です。(OffがPrivateコンテナ、ContanierがPublic Contanier、BlobがPublic Blobになります)

今現在はOffなのでPrivate(非公開)です。

image

image

このPublicAccessプロパティに”Container”等をセットし、Instanceプロパティ(コンテナ)のSetPermissions()メソッドを呼び出して設定を反映させます。

$permission.PublicAccess = "Container"
$container[3].Instance.SetPermissions($permission)

 

image

無事コンテナのアクセスレベルが変わりました。

image