を使用してDynamoDBのに連想配列をアップロード:私はPHPスクリプトを持っており、このスクリプトでは、私は連想配列は、次のようになります持っているので、私は配列のキーと値のペアを持っているPHP
$arr = array('First' => 'One', 'Second' => 'Two', 'Third' => 'Three');
私はAWS DynamoDBにテーブルがあり、テーブルにはdetails
という名前の属性があり、そのタイプはMap
です。つまり、String
キーとString
値がMap
にあります。結局、質問の始まり。
ここで、連想配列をDynamoDBのテーブル、details
マップタイプの属性にアップロードします。
、それは私が地図の鍵をアップロードする必要があると書かれており、手動でペアを値され、このような:
'M' => array(
// Associative array of custom 'AttributeName' key names
'AttributeName' => array(
// Associative array of custom key value pairs
),
// ... repeated
),
しかし、問題はどのように多くの私にはわからないということですキーと値のペアを連想配列であるので、私は、キーと値の2つの配列にそれを分割することはできませんし、私が持っているペアの数でそれをアップロードする:
$keys[0] => array('S' => $values[0]),
$keys[1] => array('S' => $values[1]),
...
私が考えた別のオプションは、にしましたループを作成し、DynamoDBテーブルの属性を更新するたびに、問題はマップタイプの属性なので、ADD
またはSET
を使用してマップを更新することはできません。 DB上の既存のマップを取得して新しいペアを追加することもできません。なぜなら、マップ型の変数を使用しているからです。
私はキーと値の2つの配列に分割し、それらの配列をDBにアップロードする別のオプションを考えましたが、配列内の文字列の順序やキーとこれは、DynamoDBがアルファベット順に配列を配列するため、インデックス番号との一致がないためです。
連想配列をDynamoDBテーブルにアップロードするにはどうすればよいですか?
あなたは何をする必要があるのかよく分かりません。2つの異なる配列でキーと値を分けるのですか? –
いいえ。必要なのは、キーと値の順序を失うことなく、たとえばマップタイプとして、連想配列をDynamoDBにアップロードすることです。私が2つの異なる配列に分離することについて書いたのは、私が持っていたアイデアですが、なぜうまくいかないのかということも書きました。 –
これは難しいですが、DynamoDBをご存知の方がいらっしゃいますか?(または、実際のコードのサンプルコードをシンプルにしてください) –