1

amazons simpledb の属性名に制限があるかどうかを知りたいです。次の属性名を試しました

my.attribute.name

次のクエリの実行

select * from mydomain where my.attribute.name is not null

「指定されたクエリ式の構文は無効です。 」というエラーが発生します。また、'my.attribute.name' を囲むと、select 構文が無効なため、エラーが発生します。

ポイントをアンダースコアに変更すると、すべて正常に動作します。

my_attribute_name

クエリは正常に実行されます

select * from mydomain where my_attribute_name is not null

ここで私の質問: 属性に使用できる文字は何ですか? Amazon 開発者マニュアルでは、名前は xml ドキュメントで有効な文字に制限されています。これは正確にはどういう意味ですか?リンクされた W3C ドキュメントはこれに答えていないようです。ドメイン名のドット「.」許可されています。

現在、私はsdbToolを使用しています。これが動作に影響しないことを願っています。

「my:attribute-name.with other%20chars」のように、属性名に他の文字を挿入しても問題ありません。

何か案は?

4

1 に答える 1

1

属性名をバッククォートで囲んで、もう一度お試しいただけますか?

ドメイン名と属性名に特殊文字が含まれている場合は、バックティック引用符で囲む必要があります。属性名とドメイン名は、文字、数字、アンダースコア (_)、またはドル記号 ($) のみを含む場合、引用符なしで表示される場合があります。特殊文字が含まれている場合は、他のすべての属性およびドメイン名をバックティック (`) で引用する必要があります。

于 2012-11-28T05:16:00.153 に答える