Example #1
0
 def _create_random_entity_class(self, pk=None, rk=None):
     '''
     Creates a class-based entity with fixed values, using all
     of the supported data types.
     '''
     partition = pk if pk is not None else self.get_resource_name('pk')
     row = rk if rk is not None else self.get_resource_name('rk')
     entity = Entity()
     entity.PartitionKey = partition
     entity.RowKey = row
     entity.age = 39
     entity.sex = 'male'
     entity.name = 'John Doe'
     entity.married = True
     entity.deceased = False
     entity.optional = None
     entity.evenratio = 3.0
     entity.ratio = 3.1
     entity.large = 933311100
     entity.Birthday = datetime(1973, 10, 4)
     entity.birthday = datetime(1970, 10, 4)
     entity.binary = EntityProperty(EdmType.BINARY, b'binary')
     entity.other = EntityProperty(EdmType.INT32, 20)
     entity.clsid = EntityProperty(
         EdmType.GUID, 'c9da6455-213d-42c9-9a79-3e9149a57833')
     return entity
def create_entity(station: WeatherStationTuple) -> dict:
    """ Conversion from input data to desired properties and types """

    entity = Entity()
    entity.provider = 'bom'
    entity.country = 'Australia'
    entity.country_code = 'AU'
    entity.state = station.state
    entity.site = station.site
    entity.name = station.name
    entity.start_year = station.start_year
    entity.end_year = station.end_year

    location = {
        'type': "point",
        'coordinates': [float(station.longitude),
                        float(station.latitude)]
    }
    entity.location = json.dumps(location)

    entity.PartitionKey = f"{entity.country_code}.{entity.state}"
    entity.RowKey = entity.site

    return entity