Search code examples
amazon-web-servicesesri

What is the effect of IntendedUse in AWS Location Place Index resources?


I'm implementing an address suggestions solution using the AWS Location service.

On the Place Index resource, there is an IntendedUse property that takes either SingleUse (default) or Storage (See the CloudFormation definition).

From the description in the CloudFormation doco above, it sounds like if I intend to store or cache results, I should use Storage. Since I intend to eventually store results of Place Index functions I chose storage with the Esri data provider.

However, once I did this and called the SearchPlaceIndexForSuggestions function I received a validation error:

{
  "errorType": "ValidationException",
  "errorMessage": "PlaceIndex [redacted] cannot be used for SearchPlaceIndexForSuggestions because it has IntendedUse Storage",
  ...
}

Following this, I don't really understand the purpose of this property or if it has any practical effect.


Solution

  • I don't speak on behalf of AWS, but from my digging this is what I found.

    From AWS Terms of Use, you must indicate IntendedUse as Storage if you are going to store the data (emphasis mine).

    82.3 You may not:

    e. Store or cache Location Data, except (i) for geocoding and reverse-geocoding results (other than as prohibited in Section 82.4.a) when you indicate the result will be stored in the API parameter or (ii) to comply with legal, regulatory, or reasonable internal record-keeping requirements.

    Reading the other terms for this service, you can feel that they are very concerned about customers using their location services as a means to offer their own location services. So from this perspective, it makes sense that they require you to declare your intent of storing the data. Keeping this in mind, if you think about the parameter name IntendedUse, it sounds a lot like a legal declaration rather than a technical configuration.

    Furthermore, the pricing for API with stored results is 8x more expensive.

    Addresses geocoded $0.50 per 1,000

    Addresses geocoded (stored results) $4.00 per 1,000

    So, to answer your question if this parameter has a purpose at all, it seems it does have a significant purpose legally and financially. Certainly not what I expected, but all evidences I found point to this conclusion.

    And again disclaimer: I don't speak on behalf of AWS.