urashineのTechてくてく👣

アウトプットするための環境

複数選択が許可されたユーザー列をHTTP要求送信アクションで空にする

複数選択を許可するオプション

複数選択を許可するオプション

SharePointのリストで追加された複数選択を許可されたユーザー列についてメモ。

リストには随時アイテムが登録されていくが、アイテム登録時に同列に指定されたユーザーにメールを送信した直後、ユーザー情報は削除(空に)して欲しいという要望がありましたのでトライしました。

続きを読む

Power Automate | Microsoft Formsトリガーのフローが動いていなかった件

つい先日、作成して稼働していた一部のクラウドフローが動いていなかったので
それに関してまとめました。

今回起きてしまった事象の整理

  • 状態がオンで稼働済みの自動化したクラウドフローが、突然に反応が停止していた(状態はオンのまま)

  • 異常フローは共通して、トリガーがMicrosoft Formsの「新しい応答が送信されるとき」であった(ただし同トリガーでも稼働していたフローもあった)
  • 指定していたFormsには回答があるにも関わらず、フローの28日間の実行履歴には表示なし
  • フローを編集し、保存しなおしても事象解消に至らず

フローの稼働開始に至った操作と気づき

  • フローの状態を一旦オフにし、再度オンにしたところ解消
  • 上記操作後、新規で受け付けたFormsの回答に関してはフローに沿って実行されたが、停止していた期間にあった回答は無視された

対応したこと

毎日1回、自分が所有しているフローの状態を一旦オフにし、オンにしなおすフローを作成しました。

採用したコネクタ
  • 変数
  • Power Automate Management
  • コントロール
  • データ操作

フローの全体

フローの全体図

フロー詳細

  1. トリガーは、スケジュール実行の『Recurrence』
    今回は、毎日5時実行設定。

    Recurrence | 毎朝5時に実行


  2. 変数として下記3種を宣言
    Flowname(アレイ )/ 状態のオフオンの切替をする実行対象フロー名の格納先
    FlowDisplayname(アレイ)/ フローの表示名版の格納先
    triggers(文字列) / Formsトリガーかどうか確認できるように用意

    変数の宣言3種
  3. 『自分にフローの一覧表示』アクションを使い、自分が所有しているフローの一覧を取得する。なお、共有されているフローは、この際取得ができない模様。あくまで自分が所有者オリジナルであるフローのみ一覧で取得できる。

    自分のフローの一覧表示 | 所有者が自分のフロー


  4. 3.で取得したデータをApply to eachアクションで繰り返し実行
    変数triggersに、取得したフローの『triggers』情報を設定

    変数の設定 | triggersを設定
  5. 条件アクションを設置。
    フローの状態がオン(Started)であること、かつ、トリガーがFormsであることを判断するたために、式として下記を利用
     
    式:contains(variables('triggers'),'CreateFormWebhook')

    条件 | フローの状態がオン、かつFormsのトリガーか判定


  6. 条件に一致したフローは、変数Flowname、FlowDisplaynameへそれぞれ情報を格納する

    配列変数に追加 | FlownameとFlowDisplayname
  7. 変数Flownameには今回処理するフロー名が格納されている。
    これを『Apply to each』アクションで繰り返し処理を行う。

    Apply to each | 作業対象のフローを繰り返し更新


  8. 『フローの取得』で現在のアイテム(処理対象のフロー)に対してのフロー情報を取得。この後のアクションで必要なフローの定義などの必須情報を取得。

    フローの取得


  9. 『フローの更新アクション』で取得したフローの状態を一旦オフ(Stopped)にする

    フローの更新 | 状態をオフにする
  10. 改めて『フローの更新アクション』でフローのアクションをオン(Started)にする

    フローの更新 | 状態をオンにする


 

今回学んだこと

  • クラウドフローだから安定して稼働してくれると思い込んではいけない(定期チェックを心掛けよ)
  • 様子がおかしい場合は、状態のオン⇔オフも有効手段となる
  • フロー所有者は追加はできても、オリジナルが変わるわけではない

余談

ちなみに、事象発生時にMicrosoftサポートへ問い合わせてみたところ
「本事象は認識はしているものの、防止策はなく、一時的な事象なのでフローを保存してください」との回答でした。

残念ながら、保存だけでは解消しなかったので今回は別ケースに陥ったのかもしれないです。

防止策もFormsのアクションで「指定したフォームの最後の応答IDを取得する」みたいなものがあれば、現在の状況と照合するぐらいはできたと思うのですが、どこにフィードバックすれば良いものか。

Power Automate | フィード項目が発行される場合のトリガーが動かなかった件

以前、こちらで作成したフローが動かなかったので
調査に動き出しました。発見の気づきから、自分の考えまでをまとめます。

urashine-techtekuteku.hatenablog.jp

フローが動いていない!?

つい先日RSSのフローを作ったばかりで、検証もできないので
1日2回、ディズニーブログを訪問し入念にチェックしていました。

すると、良きタイミングでブログの方が更新されていました。

更新日は2022年12月21日です。
(白雪姫のアトラクションについてということで、12月21日は白雪姫が公開された日だったんですね。豆知識増えたー📝ディズニーブログ、見てると行きたくなるのでホント最高🎇)
【公式】アトラクションキャストが教える!見どころ紹介 ~「白雪姫と七人のこびと」編~|東京ディズニーリゾート・ブログ | 東京ディズニーリゾート (tokyodisneyresort.jp)

 

...想定では、ディズニーブログが更新されると、Teamsのチームに通知が飛んでくるはずでした。しかし、一切来ていません。

Teamsに通知は飛んできていない...

ではエラーか何か起きてしまっているのかと急いでフローを確認しましたが
....そもそもフローが実行された履歴も残っていない。

作成したフローには実行履歴無し

時間差の問題かな、と思い1日待ってみましたが反応はありませんでした。
フローの作成方法に誤りがあったかと疑い、有識者のブログやMicrosoftの公式ドキュメントを覗きましたが問題はなさそうです。

learn.microsoft.com

 

調査開始 -準備-

フローの実行履歴があり、それに何らかのエラーが発生していた場合、
エラーに対して調べることで解に繋がることは多々ありますが今回の場合は実行履歴がそもそもありません。

ということで作成済みのフローではなく、
新しくフローを作成し別アプローチで調査することにしました。

作成したフローは下図の通りです。

すべての RSS フィード項目を一覧表示しますアクションを利用したフロー

インスタント クラウドフローを作成し、手動ですぐにフローを実行できるようにしています。フローは実行すると、『すべての RSS フィード項目を一覧表示します』アクションが2回動作し、指定しているURLのRSSフィード項目を表示される想定です。

ちなみに指定したURLはそれぞれ下記の通りです。

1段目は公式ドキュメントのサンプルとして用意されていたもの、2段目は既存フローで指定していたディズニーのブログのものです。

調査開始 -検証-

作成したフローを実行してみました。
結果は、1つ目のアクションは成功、2つ目は失敗、に終わりました。

1つ目のアクションは成功、2つ目のアクションは失敗

エラーの内容は下記になります。

Failed to read requested feed because the content returned is not valid XML format. Details: The element with name 'html' and namespace 'http://www.w3.org/1999/xhtml' is not an allowed feed format.

エラー内容

ということでした。「リクエストしたフィードは有効なXML形式でないため失敗した。名前に'html'、名前空間に'http://www.w3.org/1999/xhtml' を持つ要素は、許可されたフィード形式ではありません。」ということらしいが、意味はさっぱりです。

 

意味はさっぱりですが、とりあえず成功例/失敗例、比較しようと思いそれぞれのURLをブラウザで開きました。そしてすぐにある事に気付きました。
表示された情報に、思いっきり'http://www.w3.org/1999/xhtml'の記述がありました。

'http://www.w3.org/1999/xhtml/'の記述を発見

あぁこれが原因だと、悟りました。

該当の記述がある場合 Power Automateでは許可していないので
対応することができない。

つまり、ディズニーブログの更新を受け取ることができない。カナシー

さいごに

とりあえず、検証は終えました。
あくまで推論止まりで正しい結果ではないかもしれませんが、、、ほんとに悲しい。

明日明後日ぐらいで、良いサンプルとなるRSS集がないか探してみて、より確信に迫れたらなと思います。

SharePoint | サイトナビゲーションの位置変更

チームサイトを作成して気づきましたが
サイトナビゲーションの位置が変更できるようにアップデートされていたので
復習も兼ねて手順を確認しました。

 

サイトナビゲーションとは

チームサイトでいうと、左側に位置するリンク集のようになっている部品のこと。

サイトナビゲーション

私がSharePointの存在を教えてもらった際(2年ぐらい前?)はチームサイトではサイトナビゲーションは初期位置(左側)で固定されていました。

が、いつからだったかアップデートが行われ、初期位置から変更することができるようになっています。

この固定表示のせいで、当時はサイトのデザインが気に入らないということでほとんどの作成者がコミュニケーションサイトを選んでました。(私もそのうちの一人)

 

手順

  1. サイトナビゲーションの位置を変更したいサイトにアクセスし、サイト右上に表示されている『設定(歯車マーク⚙)』をクリック
  2. 『外観の変更』をクリック

    『設定(歯車マーク⚙)』>『外観の変更』
  3. 『ナビゲーション』をクリック

    外観の変更 > ナビゲーション
  4. 印刷の向きを『縦』から『横』へ変更。
    そして『保存』をクリック

    印刷の向きを『縦』から『横』へ変更


  5. サイトナビゲーションの位置が、初期位置の左側(縦表示)から上側(横表示)に切り替わったことを確認

    サイトナビゲーションの位置が上側

 

気づいたこと

位置を変更する操作の過程で気づきました。
外観の変更メニューからほかにも色々カスタマイズできるようになっている( ゚Д゚)スゴ

背景とか、チーム名の表示位置も変えられるとか面白いし差別化になりますな...

SharePoint | チームサイトを作成してみた

SharePointでチームサイトを作成しました。
もう勤務先では新しいチームを作ることがなくなったので、久々の操作。

 

SharePoint チームサイトの作成

SharePointメインページにアクセスし、『サイトの作成』をクリックして開始。

SharePoint - サイトの作成

まずは「チームサイト」もしくは「コミュニケーションサイト」を選択します。
教えられた当時は、そんなに差がない*1のでどっちでもよい感じでしたが、しっかりと説明がありますね。作るサイトの目的が適している方を選択した方が良いでしょう。

チームサイト・コミュニケーションサイトの選択画面

チーム名や言語設定などを指定して作成、、、

チーム名やアドレス、言語設定などを設定

できました。

チームサイト名は「My Home」と名付けました。
ここでは家庭内の予定や共有事項を管理していきたいと思ってます。
(いつかコミュニケーションサイトも作成して、家族でイベントを共有できるような環境も整えたいです。そのためには家族分のアカウント月額費用を稼がないと。。。)

 

チームサイト - メイン画面

リアルタイムのチャットを追加

続けてリアルタイムのチャットを追加してみました。
画面左下に表示されている部分ですね、Microsoft Teams を追加』をクリックします。(こんな項目、以前はなかったような気がします。)

チームサイト - リアルタイムのチャットを追加

 

追加するにあたっての説明が表示されました。
リソースがサイトからTeamsに引っ越される、ということでしょうか。
まだ越してきたばかりなのですが()
よくわかりませんが、興味はあるので『続行』してみます。

Microsoft Teams を追加 1 of 2

続けて、タブ設定に移りました。
こちらもやってみないと分からないので『Teamsへ追加』をクリックします。

Microsoft Teams を追加 2 of 2

しばらく待って、エラーっぽいのが表示されました。
自動でタブへのピン止めができなかったので、手動でやってくれとのこと。

Microsoft Teams の追加が完了


まぁ、引っ越し自体は完了したっぽいので『Teamsに移動』をクリックします。

するとTeamsの画面が起動し、作成したチームサイト名と同じ名称でチームとして追加されていました。凄い!

Teams - 作成したサイト名と同じチームが作成された

じゃあ作成したサイトの方は消えたかなと思いSharePointのメインページに行ってみました。・・・まだサイトありました、どうやら完全な引っ越しではない様子。
作成したサイトと連携できるチームが作成された感じでしょうか。

 

チームサイトは残っていた

追加の過程で設定していたタブのピン止めは、Teamsの画面上部のことでしょうか。
[投稿]のほかに、[ファイル]、[ホーム]、[ドキュメント]があります。

 

チームサイトとTeams間の移動方法

ちなみにTeamsが追加されたサイトは、サイト名の横に”Teamsのアイコン”が付きました。このアイコンをクリックすると、Teamsの一般チャネルへ画面が移動しました。

チームサイト - Teamsを追加しても残る & サイト名の横にアイコンが追加された

 

一方で、TeamsからSharePointのサイトにアクセスする手段を探してみると、ありました。チームの右上『・・・』からSharePoint で開く』、ここからサイトの方に移動することができました。

Teams から チームサイトへの移動

・・・正直、個人宅で利用するにはあまり有効なケースが見えてこないですが
職場だとかは結構良い機能かと思いました。

おそらくアクセスできるアカウントの管理もどちらか一方で良さそうです。
折角この機能があるのに、同じ部門でサイトとチームがバラバラだと管理も大変ですし、次作るような機会があれば覚えておきたいです。たぶん無いけど、、、

*1:強いて言えばサイドバーの位置が異なっていましたが現在はアップデートで変更可能

Power Automate | RSS - フィード項目が発行される場合<検証>

Power Automate で トリガー『RSS - フィード項目が発行される場合』を使用した
自動化したクラウド フローを作成しました。

 

今回は【公式】東京ディズニーリゾート・ブログRSSを利用させて頂きました。
これで不定期に更新されるブログの通知をリアルタイムで受け取ることができるはずです。(ディズニープラスの更新情報があればよかったのですがRSS見当たらず。)

※追記 2022/12/22 ディズニーブログのRSSは対応していなかったため、検証は失敗に終わりました。詳細は下記リンクから。

Power Automate | フィード項目が発行される場合のトリガーが動かなかった件 - urashineのTechてくてく👣

 

www.tokyodisneyresort.jp

 

フローの想定

  1. 【公式】東京ディズニーリゾート・ブログでブログの更新が行われる
  2. RSSを介して、Power Automate クラウドフローがトリガー開始
  3. Teamsのチャネルに更新内容を投稿する

恐らくですがRSSからの受け取る情報によっては
画像の情報が含まれていて、それをサムネイル表示させる工夫もできそうですが
今回の記事では、上記のような一旦”シンプル”なものを作ってみたいと思います。

 

作業開始

  1. Power Automateフロー作成ページから、【自動化した クラウドフロー】を選択してフローを作成開始。

    【自動化した クラウドフロー】を選択してフローを作成開始
  2. フロー名はフリー入力、フローのトリガーの選択はRSS - フィード項目が発行される場合』をクリックして指定。

    フローのトリガーの選択は『RSS - フィード項目が発行される場合』


  3. トリガーとなる『フィード項目が発行される場合』には「RSS フィードの URL」「選択したプロパティを使用して新しいアイテムを判断します。」の2項目が用意されていました。

    今回は下記のように指定。
    RSS フィードの URL:https://www.tokyodisneyresort.jp/tdrblog/feed/rss.xml
    選択したプロパティを使用して新しいアイテムを判断します。:PublishDate

    『フィード項目が発行される場合』の各項目を設定

    ※「PublishDate」と「UpdatedOn」どちらかの選択ができるようです。
    「PublishDate」では新着情報のみを、「UpdatedOn」は更新された記事も含めて情報を受け取れるとのことですが未確認。

  4. Teamsのアクション、『チャットまたはチャネルでメッセージを投稿する』を追加し、指定したチームのチャネルに更新情報を投稿する準備を行う。

    Teamsのアクション『チャットまたはチャネルでメッセージを投稿する』を追加
  5.  追加したアクションの本文に、トリガーから取得される動的なコンテンツを必要に応じて追加。今回は片っ端から突っ込みます。(どんな情報が得られるかわからないので。。。)

    トリガーから取得される動的なコンテンツをチャットの本文に追加
  6. 想定する動きはこれで達成しているはずなので、フローを保存して終了

 

フローの検証

ブログの更新がないと、検証のしようがないのでディズニープラスで映画でもみながら待ちたいと思います。

(もしかしたらブログも冬休みに入るのかしら、、、)

フローの実行が確認でき次第、取得できた内容と自分の欲しい情報を照らし合わせて
フローを修正していけたらなと思っています。

基本情報技術者試験 | 合格までの使用教材

先日、基本情報技術者試験に合格しました🎉
IT企業に勤めて5、6年目にしてようやくの出来事です。
30代に突入する前には合格したいとは思っていましたが、感覚?的にはギリギリアウトな感じです。

とりあえず、学習する習慣がついたところで応用情報も合格したい(30代前半までに、必ず、絶対)ので本格的に学習した期間3か月で何をしたかを忘れずに書きます。

 

合格したスコアはどのぐらいだったか💮

  • 合格したスコアは午前が「77」、午後が「64
  • 合格基準が60ぐらいだとして、超ギリギリでした。

試験日はいつに設定したか📆

  • 午前と午後の試験を別日に設定できたので、午前を「10月20日」、午後を「10月27日」あたりで設定してそのまま予定通り受験しました。

どれぐらいの期間勉強したか📝

  • 本格的に集中し始めたのは3か月前。
    それでも平日は仕事、休日は家事育児で手一杯だったので、1日2,3時間ほどのはず。
  • 試験1週間前から、本気モードで6時間ぐらい。

学習に利用したコンテンツは何か📚

モチベーションを維持できた理由があるか🗽

  • 資格に合格すると、毎月1万円お給料アップ🎈(2~3年間だけ)
    育児で生活費がとんでもないことになっていたので、感謝感激制度。

  • ところがです、ところがですよ。この資格制度が11月末で受付終了してしまったのです。次回以降は一時支給...

反省点を挙げるとしたら何か📌

  • 午後問題に対する対策が不足していました。一度も通しで練習をしていなかったので時間配分が下手

  • 午前問題も何問か全然知らない単語出てきて、これは対策しようがなかった。。
    5,6問はミス前提で挑んだ方が良いかも

次に取りたい資格はあるか🏆