title: DynamoDB Query nested attributes for dynamically changing map object
body: <p>Suppose I have the following object on DynamoDB. This object is a map of maps, where each nested map represents an issue. The key value pair of the nested maps represent <strong>issueId</strong>:<strong>issueDetails</strong>. Now suppose there are 100s of issues (that are ever-growing or decreasing), and I only want to grab the status &amp; criticality of each issue. How do I go about doing so?</p>
  <pre><code>{
      &quot;issues&quot;: {
          &quot;ISU000000000&quot;: {
              &quot;impactOn&quot;: &quot;Balance Sheets&quot;,
              &quot;issueName&quot;: &quot;TestIssue&quot;,
              &quot;criticality&quot;: &quot;High&quot;,
              &quot;status&quot;: &quot;open&quot;
          },
          &quot;ISU000000001&quot;: {
              &quot;impactOn&quot;: &quot;Balance Sheets&quot;,
              &quot;issueName&quot;: &quot;TestIssue&quot;,
              &quot;criticality&quot;: &quot;High&quot;,
              &quot;status&quot;: &quot;open&quot;
          },
          &quot;ISU000000002&quot;: {
              &quot;impactOn&quot;: &quot;Balance Sheets&quot;,
              &quot;issueName&quot;: &quot;TestIssue&quot;,
              &quot;criticality&quot;: &quot;High&quot;,
              &quot;status&quot;: &quot;open&quot;
          }
      }
  }
  </code></pre>
  <p>I understand that you can write a projection expression on DynamoDB with attribute names and values like this:</p>
  <pre><code>ProjectionExpression = &quot;issues.#IssueID.criticality, issues.#IssueID.status&quot;
  ExpressionAttributeNames = {'#IssueID':'ISU000000000'}
  </code></pre>
  <p>But the thing is, in this approach I've declared the <strong>IssueID</strong> in the ExpressionAttributeNames parameter. So that means, with this approach, I'd have to declare all the IssueIDs beforehand. Is there a way to write an expression such that I don't have to declare the issueID? The end goal is to be able to grab the above-mentioned desired information in an object that dynamically changes in size (meaning issues will be added or deleted).</p>
  <p>Note, I'm using the Boto3 SDK</p>
  <p>Does my question make sense? Please let me know your thoughts.</p>