Huawei Cloud OBS は IoT データの転送とストレージを支援します

この記事は、Huawei Cloud Community「 Unlocking a new realm of IoT data Management: Huawei Cloud OBS helps data forwarding and storage [ゼロコードとゼロハードウェアで Huawei Cloud IoT をプレイする] 」、著者: Y-StarryDreamerから共有されたものです。

1. 背景の紹介

モノのインターネット (IoT) テクノロジーの急速な発展により、インテリジェント社会の到来が推進されています。このデジタル時代では、IoT デバイスの増加とデータ規模の急速な成長に伴い、これらの膨大なデータをどのように効果的に保存および管理するかが重要な課題となっています。大手クラウドコンピューティングサービスプロバイダーとして、Huawei Cloudはこの課題に積極的に対応し、オブジェクトストレージサービス(OBS)を含む豊富なIoTソリューションをユーザーに提供します。

OBS は、拡張性が高く、安全で信頼性の高いクラウド ストレージ サービスとして、柔軟で効率的なデータ ストレージ ソリューションをユーザーに提供します。大量のデータのストレージニーズに容易に対応できる分散ストレージアーキテクチャを採用し、ユーザーデータの安全性と信頼性を確保するためのさまざまなデータ保護およびセキュリティ制御機能を提供します。

IoT アプリケーションでは、データの長期保存と管理が重要です。従来のデータ ストレージ方法では、多くの場合、ユーザーが自分でサーバーを構築して保守する必要があり、コストがかかり、管理が複雑です。 OBS へのデータ転送は、より便利で経済的なソリューションになりました。 OBS にデータを保存することで、ユーザーはデータ損失やストレージ容量不足を心配することなく、その高信頼性と低コストを最大限に活用できます。同時に、OBS は豊富なデータ管理および分析機能も提供し、ユーザーがデータをより深く理解し、活用してビジネス上の意思決定をサポートできるようにします。

この記事では、Huawei クラウド デバイスから報告されたデータを OBS に転送して長期保存する方法について詳しく説明します。まず、OBS バケットの作成方法を紹介し、バケットの作成プロセスと関連する構成オプションについて詳しく説明します。次に、データ転送ルールの作成や転送ターゲットの設定などの手順を含む、デバイス アクセス サービスの構成方法に焦点を当てます。最後に、実際の操作を通じて、データ転送の有効性を検証する方法と、OBS 管理ツールを使用して保存されたデータを表示および管理する方法を示します。

この記事を読むことで、読者はHuawei Cloud IoTソリューションにおけるOBSのアプリケーションシナリオと利点を包括的に理解し、デバイスデータをOBSに転送して長期保存する操作方法を習得し、それによって技術サポートとサポートを提供することができます。 IoT アプリケーションの開発と展開のガイド。

2. オブジェクト ストレージ サービス (OBS) の概要

画像.png

Object Storage Service (OBS) は、Huawei Cloud が提供する信頼性が高く、安全で信頼性の高いクラウド ストレージ サービスです。 OBS は分散アーキテクチャを採用しており、高可用性、高信頼性、高拡張性という特徴を持っています。ユーザーは、シンプルな API インターフェイスまたは管理コンソールを通じて、OBS に保存されているデータを簡単にアップロード、ダウンロード、管理できます。

OBS の主な機能は次のとおりです。

  1. 高い信頼性と可用性: OBS は、マルチコピー ストレージとインテリジェントな災害復旧メカニズムを使用して、データのセキュリティと信頼性を確保します。ハードウェア障害、ネットワーク障害、その他の異常な状況であっても、OBS はデータの永続性と可用性を確保し、ユーザー データがいつでもアクセスできるようにします。

  2. 強力なデータ管理機能: OBS は、データ分類、ライフサイクル管理、データ移行などを含む豊富なデータ管理機能を提供します。ユーザーは、OBSに保存されたデータを業務ニーズに合わせて柔軟に管理・整理することができ、データの価値と利用効率を向上させることができます。

  3. 柔軟なバケット管理: ユーザーは、自分のニーズに応じて複数のバケットを作成および管理し、バケットに対する権限を制御できます。各バケットには独立した名前空間とアクセス制御ポリシーがあり、ユーザーは実際の状況に応じてバケットを構成および管理して、データのセキュリティとプライバシーを確​​保できます。

OBS は、Huawei Cloud エコシステムで重要な役割を果たし、データのバックアップ、アーカイブ、マルチメディア ストレージなど、さまざまなシナリオで広く使用される効率的で信頼性の高いデータ ストレージ ソリューションをユーザーに提供します。個人ユーザー、企業ユーザー、開発者を問わず、OBS を使用してデータを簡単に保存および管理できるため、ビジネス開発や革新的なアプリケーションをより適切にサポートできます。

3. OBS バケットを作成する

画像.png

デバイスによって報告されたデータを OBS に転送する前に、まず OBS バケットを作成する必要があります。 OBS バケットは、データを保存するための基本単位であり、ユーザーは独自のニーズに応じて複数のバケットを作成し、各バケットを構成および管理できます。
画像.png

OBS バケットを作成する手順:

  1. 公式Huawei Cloud Webサイトにログインし、オブジェクトストレージサービスにアクセスします。

    ブラウザを開いて、Huawei Cloud の公式 Web サイトにアクセスし、アカウントにログインします。コンソールで「Object Storage Service」リンクを見つけてクリックし、OBS サービス ページに移動します。

  2. オブジェクトストレージサービス管理コンソールに入る

    OBS サービス ページに、[コンソールに入る] ボタンが表示されます。このボタンをクリックすると、オブジェクト ストレージ サービスの管理コンソール ページが表示されます。

  3. 新しい OBS バケットを作成する

    管理コンソール ページの右上隅に、[バケットの作成] ボタンがあります。このボタンをクリックすると、OBS バケットを作成するためのインターフェイスが表示されます。

  4. バケット構成情報を入力します

    バケット作成インターフェイスでは、バケット名、リージョン、ストレージ タイプなど、新しいバケットに関する構成情報を入力する必要があります。ニーズとアプリケーション シナリオに基づいて、適切な構成オプションを選択してください。

  5. 確認して作成する

    バケット構成情報を入力した後、作成したバケットの構成をプレビューできます。すべてが正しいことを確認したら、[今すぐ作成] ボタンをクリックすると、システムは新しい OBS バケットの作成を開始します。

  6. 作成が完了するまで待ちます

    選択した構成と現在のシステム負荷によっては、バケットの作成プロセスに時間がかかる場合があります。バケットの作成が完了したことを示すメッセージがシステムから表示されるまで、辛抱強くお待ちください。

4. デバイスアクセスサービスの設定

この記事では、Python コードを使用して、デバイスから報告されたデータを Huawei Cloud Object Storage Service (OBS) に転送して長期保存する方法を詳しく紹介します。読者が展開プロセスとコード実装の詳細を完全に理解できるように、サンプル コードと詳細な説明を組み合わせます。

* Huawei クラウド オブジェクト ストレージ サービス (OBS) を構成する

まず、デバイスから報告されたデータを保存するために、Huawei Cloud Platform 上に Object Storage Service (OBS) バケットを作成する必要があります。 Huawei Cloud コンソールで、オブジェクトストレージサービス管理ページに入り、次の手順に従って OBS バケットを作成します。

  1. 「コンソールに入る」をクリックして、オブジェクトストレージサービス管理コンソールに入ります。
  2. ページの右上隅にある「バケットの作成」ボタンをクリックします。
  3. 必要に応じてバケットの仕様と構成項目を選択し、「今すぐ作成」ボタンをクリックして新しい OBS バケットを作成します。

*Python デプロイメント コードを作成する

次に、デバイス データを OBS バケットに転送する機能を実装する Python コードを記述します。以下に、コードの詳細な説明と展開プロセスを示します。

インポートログ
obsインポートObsClientから

# Huawei Cloud OBS パラメータを設定する
access_key_id = 'your_access_key_id'
Secret_access_key = 'your_secret_access_key'
server = 'your_obs_server' # OBS サービスのアドレス (例: obs.cn-north-4.myhuaweicloud.com)

# デバイスのアクセス情報を設定する
デバイス ID = 'あなたのデバイス ID'
device_secret = 'your_device_secret'

# データ転送ルールを設定する
topic = 'your_topic' # デバイスによって報告されたデータのトピック
obs_bucket = 'your_obs_bucket' # OBS バケット名

#設定ログ
logging.basicConfig(level=logging.INFO)

#OBS クライアントの作成
obs_client = ObsClient(アクセスキーID、シークレットアクセスキー、サーバー)

#デバイス アクセス サービスを作成し、デバイス レポート データをシミュレートする
def report_data_to_obs(データ):
    試す:
        #OBS にデータをレポートする
        応答 = obs_client.putContent(obs_bucket, トピック, データ)
        応答ステータスが 300 未満の場合:
            logging.info("データは OBS に正常に報告されました。")
        それ以外:
            logging.error("OBS へのデータのレポートに失敗しました。ステータス コード: %d" % response.status)
    e としての例外を除く:
        logging.error("OBS へのデータのレポート中にエラーが発生しました: %s" % str(e))

# デバイスレポートデータをシミュレートする
def Simulate_device_data():
    data = {'温度': 25, '湿度': 60, '圧力': 1013} # デバイスによって報告されたデータをシミュレートします
    report_data_to_obs(データ)

__name__ == "__main__"の場合:
    シミュレート_デバイス_データ()

上記のコードでは次のようになります。

  • Huawei Cloud の Object Storage Service (OBS) と通信するためにパッケージを使用します。パッケージがインストールされていることを確認してください。 obs 
  • コード内のおよびパラメータをHuawei Cloud OBS アカウントの特定の情報に置き換えてください。 access_key_idsecret_access_key  server 
  • report_data_to_obs この関数は、デバイスによって報告されたデータを指定された OBS バケットにアップロードするために使用されます。
  • simulate_device_data この機能は、デバイスから報告されるデータをシミュレートするために使用されます。実際の状況に応じてデータの内容を変更できます。

* コードをデプロイして実行する

コード内のパラメーターを構成して保存した後、コードをサーバーまたはローカル環境にデプロイして、Python スクリプトを実行できます。実行後、成功または失敗の情報がログに出力され、データが OBS バケットに正常にアップロードされたかどうかが表示されます。

上記の手順により、デバイスから報告されたデータが Huawei Cloud Object Storage Service に正常に転送され、データの長期保存が実現しました。このソリューションは、大量の IoT データの管理と分析を支援し、アプリケーションに信頼性の高いデータ サポートを提供します。コード全体の構造と各部の機能を明確に理解できます。このコードは、デバイスによって報告されたデータを Huawei Cloud Object Storage Service に転送する機能を実装しており、適切な構成と呼び出しを通じて、IoT アプリケーションでデータの信頼性の高いストレージと管理を実現できます。

5. 検証作業

データ転送ルールを構成してアクティブ化した後、データ転送が成功したかどうかを検証し、デバイスによって報告されたデータが指定された OBS バケットに正しく保存できることを確認する必要があります。

データ転送を確認する手順:

実機やシミュレータを使用したレポートデータ

まず、実際のデバイスまたはシミュレートされたデバイスを介してデータをレポートし、データ転送機能が適切に動作するかどうかを確認できます。デバイスがデバイス アクセス サービスに正常に接続し、データを正常に報告できることを確認してください。デバイスの一意の識別子 (デバイス ID など) を使用して、データが正しく識別され、処理されることを確認できます。

報告されたデータのクエリ

Huawei Cloud の OBS 管理コンソールにログインし、コンソールで対応する OBS バケットを選択して、バケット内のオブジェクト リストまたはオブジェクトの詳細を表示します。デバイスによって報告されたデータに対応するオブジェクトがバケット内に表示されるはずです。オブジェクト リストに保存する予定のデータ オブジェクトが含まれていること、およびオブジェクトの内容がデバイスによって報告されたデータと一致していることを確認します。

上記の手順により、データ転送機能が正常であるかどうかを確認し、デバイスから報告されたデータが指定された OBS バケットに正常に保存できることを確認できます。 OBS バケット内でデバイスによって報告されたデータを見つけて確認できた場合、データ転送機能は正常に構成されており、適切に動作しています。

以下は、Python SDK を使用してデータ転送を検証するサンプル コードです。

obsインポートObsClientから

#ObsClient の初期化
obs_client = ObsClient(
    access_key_id='your_access_key_id',
    Secret_access_key='your_secret_access_key',
    server='your_obs_endpoint' # OBS サービスのエンドポイント (obs.cn-north-1.myhuaweicloud.com など)
)

#指定されたバケット内のオブジェクトリストをクエリします
def list_objects(バケット名):
    試す:
        resp = obs_client.listObjects(バケット名)
        resp.status == 200の場合:
            resp.body.contentsを返す
        それ以外:
            print(f'エラー: {resp.status}')
            なしを返す
    e としての例外を除く:
        print(f'エラー: {e}')
        なしを返す

# 指定したオブジェクトの詳細を問い合わせる
def get_object_detail(バケット名, オブジェクトキー):
    試す:
        resp = obs_client.getObjectMetadata(バケット名, オブジェクトキー)
        resp.status == 200の場合:
            それぞれ本文を返す
        それ以外:
            print(f'エラー: {resp.status}')
            なしを返す
    e としての例外を除く:
        print(f'エラー: {e}')
        なしを返す

__name__ == "__main__"の場合:
    # OBS バケット名とデバイスから報告されたオブジェクト キー (キー) を指定します
    バケット名 = 'obs_バケット名'
    オブジェクトキー = 'あなたのオブジェクトキー'

    #クエリオブジェクトリスト
    オブジェクト = list_objects(バケット名)
    オブジェクトの場合:
        print(f'バケット {bucket_name} 内のオブジェクト: {objects}')

        # オブジェクトの詳細をクエリする
        object_detail = get_object_detail(バケット名, オブジェクトキー)
        オブジェクトの詳細の場合:
            print(f'オブジェクトの詳細: {object_detail}')
        それ以外:
            print(f'キー {object_key} のオブジェクトの詳細を取得できませんでした')
    それ以外:
        print(f'バケット {bucket_name} 内のオブジェクトのリストに失敗しました')

上記のコードでは、次の部分を置き換える必要があります。

  • your_access_key_id: Huawei クラウド アクセス キー ID。
  • your_secret_access_key: Huawei クラウド シークレット アクセス キー。
  • your_obs_endpoint: OBS サービスのエンドポイント ( など) obs.cn-north-1.myhuaweicloud.com
  • your_obs_bucket_name: OBS バケット名。
  • your_object_key: デバイスによって報告されたオブジェクト キー。オブジェクトの詳細をクエリするために使用されます。

上記のコードを実行すると、指定されたバケット内のオブジェクト リストがクエリされ、指定されたオブジェクトの詳細が取得され、データ転送が成功したかどうかが確認されます。

6. ベストプラクティスと考慮事項

データを OBS に転送する場合、いくつかのベスト プラクティスと注意事項に注意する必要があります。

ベストプラクティス

データの暗号化とセキュリティ:

機密データの場合は、データのセキュリティを確保するために、データ送信中にデータを暗号化することをお勧めします。 HTTPS などの安全な暗号化プロトコルを使用して、送信中のデータを保護できます。

データのライフサイクル管理:

データのライフサイクルとビジネスニーズに応じて、データの保存期間と有効期限ポリシーを合理的に設定し、期限切れのデータや役に立たないデータの保存を回避します。ストレージ容量を解放し、ストレージコストを削減するために、不要になったデータを定期的に確認してクレンジングします。

監視と警報

データの転送および保存プロセスを監視および警報し、異常な状況を適時に検出して処理し、データの信頼性と安定性を確保することをお勧めします。監視インジケータとアラーム ルールを設定し、データ転送のステータスとパフォーマンスを監視し、問題を解決するためのタイムリーな措置を講じることができます。

予防

バケットの権限設定:

バケットを作成するときは、データのセキュリティとコンプライアンスを確保するために、実際のニーズに応じてバケットの権限とアクセス ポリシーを設定する必要があります。バケットへのアクセスを制限して、特定のユーザーまたはエンティティのみがバケットにアクセスできるようにしたり、アクセス制御ポリシーを採用してバケット内のデータを保護したりできます。

地域の選択:

転送先を設定するときは、指定した OBS バケットにデータをスムーズに転送して保存できるように、OBS サービスと同じリージョンを選択する必要があります。同じエリアを選択することで、データ伝送の遅延が軽減され、データ伝送の効率と信頼性が向上します。

7.終わり

この記事では、Huawei クラウド デバイスから報告されたデータをオブジェクト ストレージ サービス (OBS) に転送する方法について詳しく説明し、この操作の重要性と利点を強調します。 OBS にデータを保存することにより、ユーザーは次の利点を得ることができます。

  1. 高い信頼性とセキュリティ: OBS は分散アーキテクチャとマルチコピー ストレージを採用し、データの安全性と信頼性を確保します。また、データの機密性と完全性を確保するためのデータ暗号化などのセキュリティ機能も提供します。

  2. 低コストのデータ ストレージ: OBS は、実際に保存されるデータ量に応じて料金を支払うだけで済むため、従来のストレージ ソリューションのようにストレージ機器やメンテナンス費用を事前に購入する必要がなく、手頃な価格のストレージ ソリューションを提供します。

  3. 強力なデータ管理機能: OBS は、ユーザーが OBS に保存されているデータをより適切に管理および活用できるように、データ分類、ライフサイクル管理、データ移行などを含む豊富なデータ管理機能を提供します。

デバイスから報告されたデータを OBS に転送することで、ユーザーはデータの長期保存と管理を実現し、アプリケーションに安定した信頼性の高いデータ サポートを提供できます。したがって、アプリケーションの効率と信頼性を向上させるために、より多くのデータ ストレージと管理方法を試してみることをお勧めします。クラウド ストレージ サービスを合理的に利用することで、ユーザーは増大するデータ量と複雑なデータ管理ニーズに適切に対処でき、IoT アプリケーションの開発をより強力にサポートできます。

 

クリックしてフォローし、できるだけ早くHuawei Cloudの新しいテクノロジーについて学びましょう~

 

仲間のニワトリがDeepin-IDE を 「オープンソース」化し、ついにブートストラップを達成しました。 いい奴だ、Tencent は本当に Switch を「考える学習機械」に変えた Tencent Cloud の 4 月 8 日の障害レビューと状況説明 RustDesk リモート デスクトップ起動の再構築 Web クライアント WeChat の SQLite ベースのオープンソース ターミナル データベース WCDB がメジャー アップグレードを開始 TIOBE 4 月リスト: PHPは史上最低値に落ち、 FFmpeg の父であるファブリス ベラールはオーディオ圧縮ツール TSAC をリリースし 、Google は大規模なコード モデル CodeGemma をリリースしました 。それはあなたを殺すつもりですか?オープンソースなのでとても優れています - オープンソースの画像およびポスター編集ツール
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4526289/blog/11052494
おすすめ