# ストレージ管理情報に登録されている値を一括で更新したい

ストレージ管理情報に登録されている値を一括で更新する例を説明します。

ここでは、クラウドストレージDBに登録されている以下の値を更新して、再度登録を行います。

- 配信ストレージ管理情報：エンドポイントのURL

- 集信ストレージ管理情報：エンドポイントのURL

今回の例では、既存の配信ストレージ管理情報および集信ストレージ管理情報が以下の状態で登録されていることを前提とします。

- 配信ストレージ管理情報

  - 既存の配信ストレージ管理情報が複数登録されている

  - 配信ストレージ管理情報IDがすべて「xxxx.system01」の形式となっている

  - 配信ストレージ管理情報のエンドポイントのURLはすべて未設定

- 集信ストレージ管理情報

  - 既存の集信ストレージ管理情報が複数登録されている

  - 集信ストレージ管理情報IDがすべて「xxxx.system01」の形式となっている

  - 集信ストレージ管理情報のエンドポイントのURLは未設定または値が設定されている

上記の複数のストレージ管理情報について、すべてのエンドポイントのURLを変更する手順は、以下のとおりです。

1. 管理情報のエクスポートコマンド（utls3infomanage）を使用して、既存の配信ストレージ管理情報のエクスポートを行います。

   配信ストレージ管理情報の配信ストレージIDが「xxxx.system01」の管理情報をエクスポートします。

   配信ストレージIDの「xxxx.system01」をすべてエクスポートするため、IDにワイルドカードを使用して、管理情報のエクスポートコマンドを実行します。

       utls3infomanage export -t snd --id *.system01 -o info.json

   管理情報のエクスポートコマンドの詳細は、「管理情報のエクスポートコマンド」を参照してください。

2. 管理情報のエクスポートコマンドを使用して、集信ストレージ管理情報のエクスポートを行います。

   1. でエクスポートした出力ファイルに、集信ストレージ管理情報をエクスポートします。

   配信ストレージ管理情報と同様に、IDにワイルドカードを使用して、管理情報のエクスポートコマンドを実行します。

       utls3infomanage export -t rcv *.system01 -i info.json -o info.json

   管理情報のエクスポートコマンドの詳細は、「管理情報のエクスポートコマンド」を参照してください。

3. エクスポートの出力ファイル「info.json」をエディターソフトで開いて内容を確認し、エンドポイントのURLの値を編集します。

   1. および 2.で指定した、出力ファイル「info.json」をエディターソフトで開き、IDごとの管理情報を確認します。

   ファイルの構造については、「入出力ファイルのデータ構造」を参照してください。

   ここでは例として、以下の配信ストレージ管理情報の値の編集について説明します。

   表D.14 配信ストレージ管理情報の変更前と変更後の設定値の例

   配信ストレージ管理情報の項目名 | 変更前の設定値 | 変更後の設定値 | 登録有無
   --- | --- | --- | ---
   配信ストレージ管理情報ID | bucket01.system01 | bucket01.system01 | ◎
   バケット名 | 未設定 | 未設定 | ―
   ストレージタイムアウト | 600 | 600 | ◎
   1転送あたりの最大並列数 | 10 | 10 | ◎
   パートサイズ | 10 | 10 | ◎
   使用リージョン（*1） | us-east-1 | us-east-1 | ◎
   エンドポイントのURL（*1） | 未設定 | https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com | ◎
   ストレージ認証情報ID | auth-id | auth-id | ◎

   ◎ | : | 設定値を変更して登録する項目
   ― | : | 設定値を登録しない項目
   *1 | : | Amazon S3の場合のみ設定できます。

   エクスポートの出力ファイルをエディターソフトで開くと、以下のようにエクスポートされた情報を確認することができます。

       …
       {
               "id": "bucket01.system01",
               "timeout": 600,
               "parallels": 10,
               "partsize": 10,
               "default_region": "us-east-1",
               "auth_id": "auth-id"
       },
       …

   エンドポイントのURLの記載を追加します。

       …
       {
               "id": "bucket01.system01",
               "timeout": 600,
               "parallels": 10,
               "partsize": 10,
               "default_region": "us-east-1",
               "endpoint_url": "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com",
               "auth_id": "auth-id"
       },
       …

   上記のように、他の配信ストレージ管理情報および集信ストレージ管理情報について、エンドポイントのURLの値を追加または修正します。

4. 管理情報のインポートコマンド（utls3infomanage）を使用して、ストレージ管理情報のインポートを行います。

   3. で編集したファイル「info.json」を使用して、既存の配信ストレージ管理情報および集信ストレージ管理情報を一括で更新します。

       utls3infomanage import -i info.json -r

   管理情報のインポートコマンドの詳細は、「管理情報のインポートコマンド」を参照してください。

   管理情報のインポートコマンドを実行すると、管理情報のIDごとにインポートされたデータの登録確認が行われます。

   3. で示した配信ストレージ管理情報の場合、以下のようなリストが表示されます。

       The Send Storage Management Information "bucket01.system01" will be registered.
       Bucket:            Use the default value.
       Timeout:           600
       Parallels:         10
       Part Size:         10
       Default Region:    us-east-1
       Endpoint:          https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
       Auth ID:           auth-id

   エンドポイントのURLのみ値が変更されて、その他の値が変更前の値のままなことを確認します。

   管理情報のインポートコマンドで「-f」または「--force」を指定しなかった場合、以下の確認メッセージが表示されます。

       Are you sure to register? [y/n]:

   確認メッセージの表示後に、“y”または”Y”を入力し、ストレージ管理情報の登録コマンドを実行します。

   更新しない管理情報は、“n”または”N”を入力することで、登録をスキップすることができます。

   なお、既存の管理情報を更新する場合は、管理情報のインポートコマンドのパラメーターで「-r」または「-f」を必ず指定してください。

   指定しないと、管理情報の上書きに失敗します。

これで、既存のストレージ管理情報に登録されている値を変更し、一括で上書きすることができます。